SlideShare ist ein Scribd-Unternehmen logo
1 von 151
DDS: A Next-Generation Approach to Building Distributed Real-Time Systems 2011 Masterclass Gerardo Pardo-Castellote, Ph.D. Co-chair OMG DDS SIG CTO, Real-Time Innovations [email_address] http://www.rti.com
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Beyond real-time: Systems that interact directly with the Real World ,[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Challenge:  More Data, More Speed, More Sources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.
“ Real World” Systems are integrated using a  Data-Centric Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Copyright © 2010 RTI - All rights Reserved. COMPANY CONFIDENTIAL. ,[object Object],App App App
Data Centricity 101
Everyday Example: Calendaring ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: Calendaring ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: FaceBook ,[object Object],[object Object],[object Object],[object Object],[object Object]
What’s the Difference?  State . ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data-Centricity = ,[object Object],[object Object],[object Object],the part of you care about at a certain point in time
Not Data-Centricity = ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why is it better to just describe the world? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why is it better to just describe the world? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So it’s “better.” Who cares? ,[object Object],[object Object],[object Object]
Before We Forget: the Definition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DDS Lets You Observe a Changing World ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],App App App App App App Unreliable Failure here kills many apps State Server Slow A few updates/sec Not scalable 100 apps => 100x load
DDS Lets You Observe a Changing World ,[object Object],[object Object],[object Object],[object Object],State: Global Data Space App App App App App App Fast 100,000’s updates/sec Scalable Load indep. # apps Reliable No single pt. failure Managed with QoS
DDS Lets You Observe a Changing World ,[object Object],[object Object],[object Object],[object Object],State: Global Data Space App App App App App App Fast 100,000’s updates/sec Scalable Load indep. # apps Reliable No single pt. failure Managed with QoS
DDS Lets You Observe a Changing World ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Domain (e.g. Yellowstone Park) Topic (e.g. bears in the park) Instance (e.g. Yogi the bear)
The OMG DDS Standard
DDS: Standard Data-Centric middleware for Application Integration © 2009 Real-Time Innovations, Inc.  Data Distribution Service Streaming Data Sensors Events Real-Time Applications Enterprise Applications Actuators
Open Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  Real-Time  Publish-Subscribe Wire Protocol (RTPS) DDS Middleware Library DDS API Cross-vendor portability Cross-vendor interoperability
Family of Specifications © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL Network / TCP / UDP / IP Web-Enabled DDS 2011 DDS Implementation App DDS Implementation App DDS Implementation DDS Spec 2004 DDS Interoperablity 2006 UML Profile for DDS 2008 DDS for Lw CCM 2009 DDS  X-Types 2010 DDS Security 2011 2010 DDS-STD-C++ DDS-JAVA5 App
DDS adopted by key programs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RTI DDS Application Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.
RTI DDS Application Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.
RTI DDS Application Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.
Architecture for the next-generation systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Single-lane traffic No prioritization Brokers as choke-points RTI Approach
Benefits of the DDS approach ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL Messaging  & Caching Event  Processing Database  Bridge Persistence & Durability Recording Redundancy  & Failover SQL
DDS Global Data Space And Programming Model
Data-Centric Pub-Sub Model © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL Persistence Service Recording Service Essentially a virtual, decentralized global data space © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL Source (key) Latitude Longitude Altitude UAV1 37.4 -122.0 500.0 UAV2 40.7 -74.0 250.0 UAV3 50.2 -0.7 2000.0
Data-Centric Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Data Writer Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer example Data Object
Data-Centric Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Data Writer Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer example Topic
Data-Centric Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Data Writer Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer example Key (subject)
Demo: Publish-Subscribe © 2009 Real-Time Innovations, Inc.  ShapesDemo
DDS communications model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Data Reader “ Alarm” Domain Participant Data Writer “ Alarm” Domain Participant New subscriber! example Listener Offered QoS Listener Got new data Requested QoS
Demo: Real-Time Quality of Service ,[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  ShapesDemo Analyzer
Real-Time Quality of Service (QoS) © 2009 Real-Time Innovations, Inc.  Volatility User QoS Delivery Presentation Redundancy Infrastructure Transport QoS Policy DURABILITY HISTORY READER DATA LIFECYCLE WRITER DATA LIFECYCLE LIFESPAN ENTITY FACTORY RESOURCE LIMITS RELIABILITY TIME BASED FILTER DEADLINE CONTENT FILTERS QoS Policy USER DATA TOPIC DATA GROUP DATA PARTITION PRESENTATION DESTINATION ORDER OWNERSHIP OWNERSHIP STRENGTH LIVELINESS LATENCY BUDGET TRANSPORT PRIORITY
Integrating components to generic middleware technology Copyright © 2010 RTI - All rights Reserved. . Data Model Custom Mapping Custom  Integration Akin to implementing an OO design on a Procedural Language: Requires mapping inheritance, encapsulation, exceptions, … Comp Comp Comp Comp Middleware Artifacts
Integrating components to data-centric middleware technology Copyright © 2010 RTI - All rights Reserved. . Data Model Standard Mapping(*) Standard API No custom mappings / code necessary Direct support for data-centric actions: create, dispose, read/take Comp Comp Comp Comp DDS Global Data Space
Example: Message-Centric Legacy Define message-sets / handshakes Copyright © 2010 RTI - All rights Reserved. . Publish Subscribe Component or Use-case based Schema, Limited QoS) x=float(45.6) y=float(78.9) id=“AA123” 0x0000000641410102030042366666429DC “ My app knows this means dispose.” Nothing to base filters, xforms on Error checking dev    integration Self-describing data is verbose
Example: Modern Data-Centric Design Start with Data Model / Schemas / Meaning Copyright © 2010 RTI - All rights Reserved. . Publish Subscribe Data Schema x : float y : float id : string ( key ) New 45.6 78.9 “ AA123” Update 56.7 89.0 “ AA123” New 65.4 32.1 “ DL987” Dispose “ AA123” X Map this into XML; rows + cols Express content-based filters Propagate data efficiently
Example: Modern Data-Centric Design Attach QoS to Data Model ,[object Object],[object Object],[object Object],[object Object],Copyright © 2010 RTI - All rights Reserved. . Publish Subscribe Data Schema x : float y : float id : string ( key ) Quality of Service Deadline Time-Based Filter History
Domain and Domain Participants Domain 1 Domain 2 Domain 3 Added Func. Multiple Domain System Using Multiple domains for Scalability, Modularity & Isolation demo_domain_0 demo_domain_1 Node 1 - App 1 Pub/Sub Node 2 - App 1 Subscribe Node 4 - App 1 Pub/Sub Node 4 - App 2 Publish Node 3 - App 1 Pub/Sub Node 5 - App 1 Subscribe Node 5 - App 2 Pub/Sub Node 6 - App 1 Pub/Sub
[object Object],[object Object],[object Object]
Observer Pattern: Use Cases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Observer Pattern: Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Observer Pattern: Introduction Observer ( Data Bus : Notify) Subject Update Delete Create Read
Observer Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Observer Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Topic (e.g. bears in the park) Instance (e.g. Yogi the bear) Domain (e.g. Yellowstone Park)
Observer Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Example Type : typedef long BearID; struct Bear { @Key BearID which_bear; long pos_x; long pos_y; float speed; bool is_growling; bool is_charging; };
Observer Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Observer Pattern: Benefits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],decoupled
Observer Pattern: Challenges ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Observer Pattern: See Also ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
Directed State Pattern: Use Cases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Current State Objective State change Requested State Effector executes this Requester changes this
Directed State Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requester Effector Data Bus if long-running if short-running request processed? feedback Current State write Objective State write Requested State read, filter Current State read, filter Objective State read, filter same type same or different types same key Requested State write
Directed State Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: How To ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: How To ,[object Object],Fire Control Fire Effector Launcher = 5 State = Idle Launcher #5 Firing Authorized Target Identified (Objectives   ) (Current   ) Request ID = 5 Launcher = 5 Action = Fire State = Requested 1 Request ID = 5 Launcher = 5 Action = Fire State = Processing 2 Request ID = 6 Launcher = 6 Action = Fire State = Requested 4 Request ID = 5 Launcher = 5 Action = Fire State = Done 7 Launcher = 5 State = Prep’ing 3 Launcher = 5 State = Firing 5 Launcher = 5 State = Idle 6
Directed State Pattern: Benefits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: Challenges ,[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: Challenges ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Directed State Pattern: See Also ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Part I  Summary ,[object Object],[object Object],[object Object],[object Object],Copyright © 2010 RTI - All rights Reserved. . Cost and Interoperability are the key drivers Resources: http://dds.omg.org http://community.rti.com http://www.rti.com/dds
Day 2: Exercises Gerardo Pardo-Castellote, Ph.D. Co-chair OMG DDS SIG CTO, Real-Time Innovations [email_address] ,[object Object]
Part II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RTI DDS builds Higher quality, Lower TCO Systems DDS  Global  Data Space Messaging  & Caching Event  Processing Database  Bridge Persistence & Durability Recording Redundancy  & Failover SQL © 2010 Real-Time Innovations, Inc.  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(*) Extended capabilities in RTI DDS Comp Comp Comp
Real-Time Recording Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],sqlite stop_all start
Data Persistence ,[object Object],Permanent Storage Permanent Storage ,[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],start stop_all Data Writer Global  Data Space Data Reader Persistence Service Persistence Service Data Reader Data Writer
Ownership and High Availability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Producer / Writer strength=10 Topic T1 K1 K2 Producer / Writer strength=5 Producer / Writer strength=1 K1  Primary K1  Backup K2  Primary K2  Backup © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL ShapesDemo
Relational Database Integration Relational Actions Topic T1 I1 I2 I3 I1 I2 I3 Table T1 Publish-Subscribe Action Write() Read() & Take() Dispose() Wait() & Listener UPDATE   [ 2 , 3 ] &  INSERT SELECT DELETE Event driven – The fastest way to observe database changes! © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL 1. start mysql 2. start RTC ShapesDemo sql_gui stop_all sql_shell RTI Real-Time Connect
RTI Routing Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],DDS Router GUARD XFORM Topic A Topic B ShapesDemo_0 start ShapesDemo_1 stop_all
Global Scalability: LAN to WAN… …without sacrificing Performance and Security DDS Routing Site A Site B Site C Site D WAN / Internet TCP/TLS/SSL Topics: Site Status Alarms Health Logs Sensor Data Proc Sensor Data Topics: Site Status Result Data Topics: Site Status Proc Sensor Data Result Data Alarms Topics: Site Status Sensor Data © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL DDS Routing DDS Routing DDS Routing
Web Accessibility ,[object Object],Tactical  Real-Time Data Web Enabled DDS Web Enabled DDS Web Enabled DDS GUARD Recorded Data Recorded Data Files Recorded Track Files 1. start replay & router 2. start  view maps  simulated tracks  stop_all DDS Recording Service
COTS tools:  Excel  – Interacting with your data ,[object Object],[object Object],[object Object],blank saved demo ShapesDemo
Part II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hands-on Example (C++) Type Definition MyType.idl rtiddsgen MyType.h MyTypeSupport.c MyTypePublisher.cpp MyTypeSubscriber.cpp MyType.sln Publisher.exe Subscriber.exe ,[object Object],[object Object],[object Object],[object Object],[object Object],Aux: File Browser Console Delete Files rtiddsspy compiler
Exercise #1  - Hello World ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Run rtiddsgen (for C++) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Run rtiddsgen (for Java) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Execute the program ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modify the program to produce something ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Playing with rtiddsspy ,[object Object],[object Object]
Example: Publication // Entities creation DomainParticipant participant =  TheParticipantFactory->create_participant( domain_id, participant_qos, participant_listener); Publisher publisher = domain->create_publisher(   publisher_qos, publisher_listener); Topic topic = domain->create_topic(  “ MyTopic”, “Text”, topic_qos, topic_listener); DataWriter writer = publisher->create_datawriter(    topic, writer_qos, writer_listener); TextDataWriter twriter = TextDataWriter::narrow(writer); TextStruct my_text; twriter->write(&my_track);
Example: Subscription // Entities creation Subscriber  subscriber = domain->create_subscriber(    subscriber_qos, subscriber_listener); Topic topic = domain->create_topic(  “ Track”, “TrackStruct”,    topic_qos, topic_listener); DataReader reader = subscriber->create_datareader(    topic, reader_qos, reader_listener); // Use listener-based or wait-based access
How to Get Data? (Listener-Based) // Listener creation and attachment Listener listener = new MyListener(); reader->set_listener(listener); // Listener code MyListener::on_data_available( DataReader reader ) { TextSeq received_data; SampleInfoSeq sample_info; TextDataReader reader = TextDataReader::narrow(reader); treader->take( &received_data, &sample_info, …) // Use received_data printf(“Got: %s”, received_data[0]->contents); }
How to Get Data? (WaitSet-Based) // Creation of condition and attachement Condition  foo_condition =  treader->create_readcondition(…); waitset->add_condition(foo_condition); // Wait ConditionSeq active_conditions; waitset->wait(&active_conditions, timeout); // Wait returns when there is data (or timeout) FooSeq received_data; SampleInfoSeq sample_info; treader->take_w_condition (&received_data,  &sample_info,   foo_condition); // Use received_data  printf(“Got: %s”, received_data[0]->contents);
Listeners, Conditions & WaitSets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Status Changes ,[object Object],[object Object],[object Object],[object Object],struct LivelinessChangedStatus { long active_count; long inactive_count; long active_count_change; long inactive_count_change; } STATUS Entity INCONSISTENT_TOPIC Topic DATA_ON_READERS Subscriber LIVELINESS_CHANGED DataReader REQUESTED_DEADLINE_MISSED DataReader RUQESTED_INCOMPATIBLE_QOS DataReader DATA_AVAILABLE DataReader SAMPLE_LOST DataReader SUBSCRIPTION_MATCH DataReader LIVELINESS_LOST DataWriter OFFERED_INCOMPATIBLE_QOS DataWriter PUBLICATION_MATCH DataWriter
Listeners, Conditions and Statuses ,[object Object],[object Object],[object Object],[object Object],STATUS Entity Listener operation INCONSISTENT_TOPIC Topic on_inconsistent_topic DATA_ON_READERS Subscriber on_data_on_readers LIVELINESS_CHANGED DataReader on_liveliness_changed REQUESTED_DEADLINE_MISSED DataReader on_requested_deadline_missed RUQESTED_INCOMPATIBLE_QOS DataReader on_requested_incompatible_qos DATA_AVAILABLE DataReader on_data_available SAMPLE_LOST DataReader on_sample_lost SUBSCRIPTION_MATCH DataReader on_subscription_match LIVELINESS_LOST DataWriter on_liveliness_lost OFFERED_INCOMPATIBLE_QOS DataWriter on_offered_incompatible_qos PUBLICATION_MATCH DataWriter on_publication_match
Listeners & Condition duality ,[object Object],[object Object],[object Object],[object Object],[object Object],Asynchronous notification via Listener operation Synchronous notification via activation/wakeup of  conditions/waitsets DDS Entity Status Change
Exercise #2 – Shapes Publisher ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
rtiddsgen Details ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IDL vs. XML: IDL Example struct   MemberStruct{ short   sData; }  typedef  MemberStructType;   //@top-level false
IDL vs. XML: XML Example <? xml   version =&quot;1.0“ encoding =&quot;UTF-8&quot;?> < types   xmlns:xsi =&quot;http://www.w3.org/2001/XMLSchema-instance&quot;  xsi:noNamespaceSchemaLocation =&quot;../rti_dds_topic_types.xsd&quot;> < struct   name =&quot;MemberStruct&quot;  topLevel =&quot;false&quot;> < member   name =&quot;sData“  type =&quot;short&quot;/> </ struct > < typedef   name =&quot;MemberStructType&quot;    type =&quot;nonBasic“   nonBasicTypeName =&quot;MemberStruct“    topLevel =&quot;false&quot;/> </ types >
IDL vs. XSD: XSD Example <? xml   version =&quot;1.0&quot;  encoding =&quot;UTF-8&quot;?> < xsd:schema   xmlns:xsd =&quot;http://www.w3.org/2001/XMLSchema&quot;  xmlns:dds =&quot;http://www.omg.org/dds&quot;  xmlns:tns =&quot;http://www.omg.org/IDL-Mapped/&quot;  targetNamespace =&quot;http://www.omg.org/IDL-Mapped/&quot;> < xsd:import   namespace =&quot;http://www.omg.org/dds&quot;  schemaLocation =&quot;rti_dds_topic_types_common.xsd&quot;/> < xsd:complexType   name =&quot;MemberStruct&quot;> < xsd:sequence > < xsd:element   name =&quot;sData&quot;  minOccurs =&quot;1&quot;  maxOccurs =&quot;1&quot;  type =&quot;xsd:short&quot;/> </ xsd:sequence > </ xsd:complexType > <!--  @topLevel false  --> < xsd:complexType   name =&quot;MemberStructType&quot;> < xsd:complexContent > < xsd:restriction   base =&quot;tns:MemberStruct&quot;> < xsd:sequence > < xsd:element   name =&quot;sData&quot;  type =&quot;xsd:short&quot;  minOccurs =&quot;1&quot;  maxOccurs =&quot;1&quot;/> </ xsd:sequence > </ xsd:restriction > </ xsd:complexContent > </ xsd:complexType > <!--  @topLevel false  --> </ xsd:schema >
Part II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tools provide insight into a distributed system ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Let’s try the Tools!
XML-Defined Qos Profiles: Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Benefits of using QoS profiles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More on using QoS profiles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a QoS Profile? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is inside an XML QoS file? ,[object Object],Example ,[object Object],[object Object]
How are XML Qos files specified? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Duplicate Qos Libraries and/or Qos Profiles within a library are not allowed
Side note: URL Format ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
API access to XML QoS Policies ,[object Object],[object Object],[object Object],[object Object],[object Object]
QoS Profile Inheritance ,[object Object],[object Object],[object Object],[object Object],[object Object],< qos_profile   name = &quot; ReliableKeepLast &quot;   base_name = &quot; BasicQos &quot; > < datawriter_qos > < reliability > < kind > RELIABLE_RELIABILITY_QOS </ kind > < max_blocking_time > < sec > 1 </ sec > < nanosec > 0 </ nanosec > </ max_blocking_time > </ reliability > < history > < kind > KEEP_LAST_HISTORY_QOS </ kind > < depth > 10 </ depth > </ history > </ datawriter_qos >   </ qos_profile >
Modifying the default QoS using XML files ,[object Object],[object Object],[object Object],[object Object],< qos_library   name = &quot; MyQosLib &quot; > < qos_profile   name = &quot; ReliableKeepLast &quot;   is_default_qos = &quot; true &quot; > < datawriter_qos > … </ datawriter_qos > < datareader_qos > … </ datareader_qos > </ qos_profile > </ qos_library >
Fine-tuning which QoS applies to an Entity via Topic filters ,[object Object],[object Object],[object Object],[object Object],[object Object],< datawriter_qos   topic_filter = &quot; Alarm* &quot; > … </ datawriter_qos >
XML QoS Notes ,[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration of QoS via XML-defined profiles ,[object Object]
Part II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
20X Faster than JMS / Broker-based solutions Platform: Linux 2.6 on AMD Athlon, Dual core, 2.2 GHz RTI DDS is about 20X faster than JMS RTI DDS reliable multicast exhibits near perfect scalability ( 2KB messages ) © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Extremely low latency and jitter © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL Reliable, ordered delivery over Gigabit Ethernet between 2.4 GHz Core 2 Quad processors running 32-bit Red Hat Enterprise Linux 5.0
Orders of magnitude more scalable than broker-based solutions ,[object Object],[object Object],[object Object],http://www.rti.com/products/dds/benchmarks-cpp-linux.html © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Realizing Performance & Scalability ,[object Object],[object Object],RTI DDS Approach RTPS JMS AMQP ESBs … Others: Broker-based middleware © 2010 Real-Time Innovations, Inc.
Realizing Performance & Scalability ,[object Object],[object Object],RTI DDS Approach RTPS SharedMem RTPS Others: Broker-based middleware © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Advanced Scalability & Performance Techniques ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],© 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Message Batching write() sender receiver write() sender Send queue Receive queue Send queue Receive queue Without batching each message is separately sent. For small messages protocol headers might be bigger than payload With batching messages are held a little and combined into larger batches maximizing throughout and minimizing CPU receiver Transparent: Receiver still sees individual messages © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Reliability with Batching ,[object Object],[object Object],[object Object],B3 B2 B1 B3 B2 B1 ACK(B3), NACK(B2) Repair B2 B3 B2 B1 write() sender receiver © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Batching has a huge payoff! Intel Core2Duo Single-CPU Dual-Core 2.4GHz, 4MB cache 32-bit CentOS 5 (RHEL 5), 2GB memory, Intel E1000 NIC © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Classic (TCP Style) Reliable Protocol No packet loss situation Company Confidential 01 02 03 04 01 02 03 04, HB 01 02 03 04 ACK 1-4 05 06 07 08 05 06 07 08, HB 05 06 07 08 ACK 1-8 © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL ShapesDemo
Classic (TCP Style) Reliable Protocol with some packet loss 01 02 03 04 01 02 03 04, HB 01 02 X ACK 1-2, NACK 3 05 06 07 08 05 06 07 08, HB 06 07 08 ACK 1-8 03 04 05 X X Packets 04 and 05 are received but the  protocol drops them because a prior  packet 03 is missing. This wastes valuable bandwidth © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
RTI DDS Reliability (Reader Cache + SACK) improves performance when packet loss occurs 01 02 03 04 01 02 03 04, HB 01 02 X 04 ACK 1-2, SACK 3 05 06 07 08 05 06 07 08, HB 05 06 07 08 ACK 1-8 03 Packets 04 and 05 are received  and  cached waiting for the repair of 03.  No bandwidth is wasted. © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
RTI DDS NACK-only reliability eliminates ACK traffic if there no packet loss 01 02 03 04 01 02 03 04, HB 01 02 03 04 05 06 07 08 05 06 07 08, HB 05 06 07 08 No ACK traffic under normal  operating conditions  © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
RTI DDS NACK-only reliability greatly reduces traffic even with packet loss 01 02 03 04 01 02 03 04, HB 01 02 X 04 NACK 3 05 06 07 08 05 06 07 08, HB 05 06 07 08 03 Negative Acknowledgments sent only when some message is lost This approach is far more scalable  when there are many subscribers © 2009 Real-Time Innovations, Inc.  COMPANY CONFIDENTIAL
Part II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OMG Standards update ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Upcoming standards: + Web Enabled DDS (Mar 2011) + Secure DDS (Dec 2011)
Web-Protocol Access to DDS Global Data Space ,[object Object],[object Object],Web App DDS RTPS Global Data  Space App App App App Web Integration Service HTTP
DDS Security RFP ,[object Object],[object Object],[object Object]
Pub/Sub middleware (DDS) Application Secure OS Secure  Transport DDS Application Secure DDS Global Data Credential Mgmt Authentication Access Control Data Tagging Encryption DDS Application DDS Application ? ? ? ?
App. Other  DDS System Secure DDS  middleware Authentication Plugin Access Control Plugin Data Encryption Plugin Data Tagging Plugin Crypto Module (e.g. TPM )  Secure Transport (e.g. TLS) CS application component certificates Kernel Policies Network Driver Network Encrypted Data TAGS Other  DDS System Other  DDS System App. App. Secure Kernel (e.g. SE Linux, MILS) ? Data cache Protocol Engine DDS Entities ? 1 2 3 4 5 6 7 8 9
Part III ,[object Object],[object Object]
Exercise: How could “chat rooms” be implemented? ,[object Object],[object Object],[object Object],[object Object],[object Object],Discuss pros and cons of each approach
Exercise: How could we implement Ground control stations that monitor UAVs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Discuss pros and cons of each approach
Edit the chat_publisher.cxx ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise #3 – Chat Room ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Edit the chat_publisher.cxx ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise #3 (continued) Use Qos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise #4 (continued) Use content filters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise #3 (continued)  Use Exclusive Ownership ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercise ,[object Object]
Exercise ,[object Object]
Exercise ,[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Next Generation Nexus 9000 Architecture
Next Generation Nexus 9000 ArchitectureNext Generation Nexus 9000 Architecture
Next Generation Nexus 9000 ArchitectureCisco Canada
 
Exhibitor session: Efficient IP
Exhibitor session: Efficient IPExhibitor session: Efficient IP
Exhibitor session: Efficient IPJisc
 
Nagios, Getting Started.
Nagios, Getting Started.Nagios, Getting Started.
Nagios, Getting Started.Hitesh Bhatia
 
Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)Anwesh Dixit
 
Introduction to sandvine dpi
Introduction to sandvine dpiIntroduction to sandvine dpi
Introduction to sandvine dpiMohammed Abdallah
 
Micro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollersMicro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollerseProsima
 
Data-Centric and Message-Centric System Architecture
Data-Centric and Message-Centric System ArchitectureData-Centric and Message-Centric System Architecture
Data-Centric and Message-Centric System ArchitectureRick Warren
 
Salesforce enabling real time scenarios at scale using kafka
Salesforce enabling real time scenarios at scale using kafkaSalesforce enabling real time scenarios at scale using kafka
Salesforce enabling real time scenarios at scale using kafkaThomas Alex
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
DPI BOX: deep packet inspection for ISP traffic management
DPI BOX: deep packet inspection for ISP traffic managementDPI BOX: deep packet inspection for ISP traffic management
DPI BOX: deep packet inspection for ISP traffic managementIlya Mikov
 
radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)rinnocente
 
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
 
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...LINE Corporation
 
Application Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreApplication Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreCisco Canada
 

Was ist angesagt? (20)

Nagios
NagiosNagios
Nagios
 
Next Generation Nexus 9000 Architecture
Next Generation Nexus 9000 ArchitectureNext Generation Nexus 9000 Architecture
Next Generation Nexus 9000 Architecture
 
Exhibitor session: Efficient IP
Exhibitor session: Efficient IPExhibitor session: Efficient IP
Exhibitor session: Efficient IP
 
Nagios, Getting Started.
Nagios, Getting Started.Nagios, Getting Started.
Nagios, Getting Started.
 
Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)Cisco Identity Services Engine (ISE)
Cisco Identity Services Engine (ISE)
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
Best Practices Using RTI Connext DDS
Best Practices Using RTI Connext DDSBest Practices Using RTI Connext DDS
Best Practices Using RTI Connext DDS
 
Introduction to sandvine dpi
Introduction to sandvine dpiIntroduction to sandvine dpi
Introduction to sandvine dpi
 
Micro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollersMicro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollers
 
DDS Enabling Open Architecture
DDS Enabling Open ArchitectureDDS Enabling Open Architecture
DDS Enabling Open Architecture
 
Data-Centric and Message-Centric System Architecture
Data-Centric and Message-Centric System ArchitectureData-Centric and Message-Centric System Architecture
Data-Centric and Message-Centric System Architecture
 
Salesforce enabling real time scenarios at scale using kafka
Salesforce enabling real time scenarios at scale using kafkaSalesforce enabling real time scenarios at scale using kafka
Salesforce enabling real time scenarios at scale using kafka
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
DPI BOX: deep packet inspection for ISP traffic management
DPI BOX: deep packet inspection for ISP traffic managementDPI BOX: deep packet inspection for ISP traffic management
DPI BOX: deep packet inspection for ISP traffic management
 
radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)
 
Apache Spark Architecture
Apache Spark ArchitectureApache Spark Architecture
Apache Spark Architecture
 
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
 
Tso and ispf
Tso and ispfTso and ispf
Tso and ispf
 
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
 
Application Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreApplication Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centre
 

Andere mochten auch

Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsReal-Time Innovations (RTI)
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
7 DDS Innovations to Improve your Next Distributed System
7 DDS Innovations to Improve your Next Distributed System7 DDS Innovations to Improve your Next Distributed System
7 DDS Innovations to Improve your Next Distributed SystemReal-Time Innovations (RTI)
 
OMG Data Distribution Service (DDS) Advanced Tutorial
OMG Data Distribution Service (DDS) Advanced TutorialOMG Data Distribution Service (DDS) Advanced Tutorial
OMG Data Distribution Service (DDS) Advanced TutorialGerardo Pardo-Castellote
 

Andere mochten auch (6)

Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar Systems
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
7 DDS Innovations to Improve your Next Distributed System
7 DDS Innovations to Improve your Next Distributed System7 DDS Innovations to Improve your Next Distributed System
7 DDS Innovations to Improve your Next Distributed System
 
OMG Data Distribution Service (DDS) Advanced Tutorial
OMG Data Distribution Service (DDS) Advanced TutorialOMG Data Distribution Service (DDS) Advanced Tutorial
OMG Data Distribution Service (DDS) Advanced Tutorial
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 

Ähnlich wie RTI Data-Distribution Service (DDS) Master Class 2011

DDS: The data-centric future beyond message-based integration
DDS: The data-centric future beyond message-based integrationDDS: The data-centric future beyond message-based integration
DDS: The data-centric future beyond message-based integrationGerardo Pardo-Castellote
 
Elements Of Cloud Computing 09
Elements Of Cloud Computing 09Elements Of Cloud Computing 09
Elements Of Cloud Computing 09Geeks
 
Elements Of Cloud Computing Satish Jun24 09
Elements Of Cloud Computing Satish Jun24 09Elements Of Cloud Computing Satish Jun24 09
Elements Of Cloud Computing Satish Jun24 09dhanya.sumeru
 
Introduction to Puppet Enterprise - Jan 30, 2019
Introduction to Puppet Enterprise - Jan 30, 2019Introduction to Puppet Enterprise - Jan 30, 2019
Introduction to Puppet Enterprise - Jan 30, 2019Puppet
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery ToolsAntonio Rolle
 
Introduction to Puppet Enterprise 10/03/2018
Introduction to Puppet Enterprise 10/03/2018Introduction to Puppet Enterprise 10/03/2018
Introduction to Puppet Enterprise 10/03/2018Puppet
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubJohn Mathon
 
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Nati Shalom
 
Cloud to hybrid edge cloud evolution Jun112020.pptx
Cloud to hybrid edge cloud evolution Jun112020.pptxCloud to hybrid edge cloud evolution Jun112020.pptx
Cloud to hybrid edge cloud evolution Jun112020.pptxMichel Burger
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperSam Basu
 
Why Should Nonprofits Care About Cloud Computing
Why Should Nonprofits Care About Cloud ComputingWhy Should Nonprofits Care About Cloud Computing
Why Should Nonprofits Care About Cloud ComputingTechSoup Global
 
The Improvement and Performance of Mobile Environment using Both Cloud and Te...
The Improvement and Performance of Mobile Environment using Both Cloud and Te...The Improvement and Performance of Mobile Environment using Both Cloud and Te...
The Improvement and Performance of Mobile Environment using Both Cloud and Te...IJwest
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
PowerPoint
PowerPointPowerPoint
PowerPointVideoguy
 
Spirent: Datum User Experience Analytics System
Spirent: Datum User Experience Analytics SystemSpirent: Datum User Experience Analytics System
Spirent: Datum User Experience Analytics SystemSailaja Tennati
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing WebinarTechSoup
 
Cloud presentation
Cloud presentationCloud presentation
Cloud presentationPyvot
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicAmazon Web Services
 
Test expo cloud-enabled testing services (wide)_v1.0
Test expo cloud-enabled testing services (wide)_v1.0Test expo cloud-enabled testing services (wide)_v1.0
Test expo cloud-enabled testing services (wide)_v1.0Ewald Roodenrijs
 

Ähnlich wie RTI Data-Distribution Service (DDS) Master Class 2011 (20)

DDS: The data-centric future beyond message-based integration
DDS: The data-centric future beyond message-based integrationDDS: The data-centric future beyond message-based integration
DDS: The data-centric future beyond message-based integration
 
Elements Of Cloud Computing 09
Elements Of Cloud Computing 09Elements Of Cloud Computing 09
Elements Of Cloud Computing 09
 
Elements Of Cloud Computing Satish Jun24 09
Elements Of Cloud Computing Satish Jun24 09Elements Of Cloud Computing Satish Jun24 09
Elements Of Cloud Computing Satish Jun24 09
 
Introduction to Puppet Enterprise - Jan 30, 2019
Introduction to Puppet Enterprise - Jan 30, 2019Introduction to Puppet Enterprise - Jan 30, 2019
Introduction to Puppet Enterprise - Jan 30, 2019
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
 
Introduction to Puppet Enterprise 10/03/2018
Introduction to Puppet Enterprise 10/03/2018Introduction to Puppet Enterprise 10/03/2018
Introduction to Puppet Enterprise 10/03/2018
 
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe PubsubWso2 con 2014 event driven architecture Publish/Subscribe Pubsub
Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
 
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
 
Cloud to hybrid edge cloud evolution Jun112020.pptx
Cloud to hybrid edge cloud evolution Jun112020.pptxCloud to hybrid edge cloud evolution Jun112020.pptx
Cloud to hybrid edge cloud evolution Jun112020.pptx
 
Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone Developer
 
Why Should Nonprofits Care About Cloud Computing
Why Should Nonprofits Care About Cloud ComputingWhy Should Nonprofits Care About Cloud Computing
Why Should Nonprofits Care About Cloud Computing
 
The Improvement and Performance of Mobile Environment using Both Cloud and Te...
The Improvement and Performance of Mobile Environment using Both Cloud and Te...The Improvement and Performance of Mobile Environment using Both Cloud and Te...
The Improvement and Performance of Mobile Environment using Both Cloud and Te...
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
Spirent: Datum User Experience Analytics System
Spirent: Datum User Experience Analytics SystemSpirent: Datum User Experience Analytics System
Spirent: Datum User Experience Analytics System
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 
Cloud presentation
Cloud presentationCloud presentation
Cloud presentation
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo Logic
 
Test expo cloud-enabled testing services (wide)_v1.0
Test expo cloud-enabled testing services (wide)_v1.0Test expo cloud-enabled testing services (wide)_v1.0
Test expo cloud-enabled testing services (wide)_v1.0
 

Mehr von Gerardo Pardo-Castellote

DDS, the US Navy, and the Need for Distributed Software
DDS, the US Navy,  and the Need for Distributed SoftwareDDS, the US Navy,  and the Need for Distributed Software
DDS, the US Navy, and the Need for Distributed SoftwareGerardo Pardo-Castellote
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Gerardo Pardo-Castellote
 
A Converged Approach to Standards for Industrial Automation
A Converged Approach to Standards for Industrial AutomationA Converged Approach to Standards for Industrial Automation
A Converged Approach to Standards for Industrial AutomationGerardo Pardo-Castellote
 
DDS-Security Interoperability Demo - March 2018
DDS-Security Interoperability Demo - March 2018DDS-Security Interoperability Demo - March 2018
DDS-Security Interoperability Demo - March 2018Gerardo Pardo-Castellote
 
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkApplying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkGerardo Pardo-Castellote
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationGerardo Pardo-Castellote
 
DDS for eXtremely Resource Constrained Environments 1.0 Beta
DDS for eXtremely Resource Constrained Environments 1.0 BetaDDS for eXtremely Resource Constrained Environments 1.0 Beta
DDS for eXtremely Resource Constrained Environments 1.0 BetaGerardo Pardo-Castellote
 
DDS-Security Interoperability Demo - December 2017
DDS-Security Interoperability Demo - December 2017DDS-Security Interoperability Demo - December 2017
DDS-Security Interoperability Demo - December 2017Gerardo Pardo-Castellote
 
DDS-Security Interoperability Demo - September 2017
DDS-Security Interoperability Demo - September 2017DDS-Security Interoperability Demo - September 2017
DDS-Security Interoperability Demo - September 2017Gerardo Pardo-Castellote
 
Extensible Types for DDS (DDS-XTYPES) version 1.2
Extensible Types for DDS (DDS-XTYPES) version 1.2Extensible Types for DDS (DDS-XTYPES) version 1.2
Extensible Types for DDS (DDS-XTYPES) version 1.2Gerardo Pardo-Castellote
 
Interface Definition Language (IDL) version 4.2
Interface Definition Language (IDL) version 4.2 Interface Definition Language (IDL) version 4.2
Interface Definition Language (IDL) version 4.2 Gerardo Pardo-Castellote
 
DDS for eXtremely Resource Constrained Environments
DDS for eXtremely Resource Constrained EnvironmentsDDS for eXtremely Resource Constrained Environments
DDS for eXtremely Resource Constrained EnvironmentsGerardo Pardo-Castellote
 
DDS-XRCE - Revised Submission Presentation (September 2017)
DDS-XRCE - Revised Submission Presentation (September 2017)DDS-XRCE - Revised Submission Presentation (September 2017)
DDS-XRCE - Revised Submission Presentation (September 2017)Gerardo Pardo-Castellote
 
DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)Gerardo Pardo-Castellote
 
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)Gerardo Pardo-Castellote
 

Mehr von Gerardo Pardo-Castellote (20)

DDS, the US Navy, and the Need for Distributed Software
DDS, the US Navy,  and the Need for Distributed SoftwareDDS, the US Navy,  and the Need for Distributed Software
DDS, the US Navy, and the Need for Distributed Software
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.
 
DDS-TSN OMG Request for Proposals (RFP)
DDS-TSN OMG Request for Proposals (RFP)DDS-TSN OMG Request for Proposals (RFP)
DDS-TSN OMG Request for Proposals (RFP)
 
A Converged Approach to Standards for Industrial Automation
A Converged Approach to Standards for Industrial AutomationA Converged Approach to Standards for Industrial Automation
A Converged Approach to Standards for Industrial Automation
 
Overview of the DDS-XRCE specification
Overview of the DDS-XRCE specificationOverview of the DDS-XRCE specification
Overview of the DDS-XRCE specification
 
DDS-Security Interoperability Demo - March 2018
DDS-Security Interoperability Demo - March 2018DDS-Security Interoperability Demo - March 2018
DDS-Security Interoperability Demo - March 2018
 
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and SimulinkApplying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
Applying MBSE to the Industrial IoT: Using SysML with Connext DDS and Simulink
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
 
OPC UA/DDS Gateway version 1.0 Beta
OPC UA/DDS Gateway version 1.0 BetaOPC UA/DDS Gateway version 1.0 Beta
OPC UA/DDS Gateway version 1.0 Beta
 
DDS for eXtremely Resource Constrained Environments 1.0 Beta
DDS for eXtremely Resource Constrained Environments 1.0 BetaDDS for eXtremely Resource Constrained Environments 1.0 Beta
DDS for eXtremely Resource Constrained Environments 1.0 Beta
 
DDS-Security Interoperability Demo - December 2017
DDS-Security Interoperability Demo - December 2017DDS-Security Interoperability Demo - December 2017
DDS-Security Interoperability Demo - December 2017
 
DDS-Security Interoperability Demo - September 2017
DDS-Security Interoperability Demo - September 2017DDS-Security Interoperability Demo - September 2017
DDS-Security Interoperability Demo - September 2017
 
Extensible Types for DDS (DDS-XTYPES) version 1.2
Extensible Types for DDS (DDS-XTYPES) version 1.2Extensible Types for DDS (DDS-XTYPES) version 1.2
Extensible Types for DDS (DDS-XTYPES) version 1.2
 
DDS-Security version 1.1
DDS-Security version 1.1DDS-Security version 1.1
DDS-Security version 1.1
 
Interface Definition Language (IDL) version 4.2
Interface Definition Language (IDL) version 4.2 Interface Definition Language (IDL) version 4.2
Interface Definition Language (IDL) version 4.2
 
DDS Security Specification version 1.0
DDS Security Specification version 1.0DDS Security Specification version 1.0
DDS Security Specification version 1.0
 
DDS for eXtremely Resource Constrained Environments
DDS for eXtremely Resource Constrained EnvironmentsDDS for eXtremely Resource Constrained Environments
DDS for eXtremely Resource Constrained Environments
 
DDS-XRCE - Revised Submission Presentation (September 2017)
DDS-XRCE - Revised Submission Presentation (September 2017)DDS-XRCE - Revised Submission Presentation (September 2017)
DDS-XRCE - Revised Submission Presentation (September 2017)
 
DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)
 
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)
DDS - The Proven Data Connectivity Standard for the Industrial IoT (IIoT)
 

Kürzlich hochgeladen

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
[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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

RTI Data-Distribution Service (DDS) Master Class 2011

  • 1. DDS: A Next-Generation Approach to Building Distributed Real-Time Systems 2011 Masterclass Gerardo Pardo-Castellote, Ph.D. Co-chair OMG DDS SIG CTO, Real-Time Innovations [email_address] http://www.rti.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. The OMG DDS Standard
  • 22. DDS: Standard Data-Centric middleware for Application Integration © 2009 Real-Time Innovations, Inc. Data Distribution Service Streaming Data Sensors Events Real-Time Applications Enterprise Applications Actuators
  • 23.
  • 24. Family of Specifications © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL Network / TCP / UDP / IP Web-Enabled DDS 2011 DDS Implementation App DDS Implementation App DDS Implementation DDS Spec 2004 DDS Interoperablity 2006 UML Profile for DDS 2008 DDS for Lw CCM 2009 DDS X-Types 2010 DDS Security 2011 2010 DDS-STD-C++ DDS-JAVA5 App
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. DDS Global Data Space And Programming Model
  • 32. Data-Centric Pub-Sub Model © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL Persistence Service Recording Service Essentially a virtual, decentralized global data space © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL Source (key) Latitude Longitude Altitude UAV1 37.4 -122.0 500.0 UAV2 40.7 -74.0 250.0 UAV3 50.2 -0.7 2000.0
  • 33.
  • 34.
  • 35.
  • 36. Demo: Publish-Subscribe © 2009 Real-Time Innovations, Inc. ShapesDemo
  • 37.
  • 38.
  • 39. Real-Time Quality of Service (QoS) © 2009 Real-Time Innovations, Inc. Volatility User QoS Delivery Presentation Redundancy Infrastructure Transport QoS Policy DURABILITY HISTORY READER DATA LIFECYCLE WRITER DATA LIFECYCLE LIFESPAN ENTITY FACTORY RESOURCE LIMITS RELIABILITY TIME BASED FILTER DEADLINE CONTENT FILTERS QoS Policy USER DATA TOPIC DATA GROUP DATA PARTITION PRESENTATION DESTINATION ORDER OWNERSHIP OWNERSHIP STRENGTH LIVELINESS LATENCY BUDGET TRANSPORT PRIORITY
  • 40. Integrating components to generic middleware technology Copyright © 2010 RTI - All rights Reserved. . Data Model Custom Mapping Custom Integration Akin to implementing an OO design on a Procedural Language: Requires mapping inheritance, encapsulation, exceptions, … Comp Comp Comp Comp Middleware Artifacts
  • 41. Integrating components to data-centric middleware technology Copyright © 2010 RTI - All rights Reserved. . Data Model Standard Mapping(*) Standard API No custom mappings / code necessary Direct support for data-centric actions: create, dispose, read/take Comp Comp Comp Comp DDS Global Data Space
  • 42. Example: Message-Centric Legacy Define message-sets / handshakes Copyright © 2010 RTI - All rights Reserved. . Publish Subscribe Component or Use-case based Schema, Limited QoS) x=float(45.6) y=float(78.9) id=“AA123” 0x0000000641410102030042366666429DC “ My app knows this means dispose.” Nothing to base filters, xforms on Error checking dev  integration Self-describing data is verbose
  • 43. Example: Modern Data-Centric Design Start with Data Model / Schemas / Meaning Copyright © 2010 RTI - All rights Reserved. . Publish Subscribe Data Schema x : float y : float id : string ( key ) New 45.6 78.9 “ AA123” Update 56.7 89.0 “ AA123” New 65.4 32.1 “ DL987” Dispose “ AA123” X Map this into XML; rows + cols Express content-based filters Propagate data efficiently
  • 44.
  • 45. Domain and Domain Participants Domain 1 Domain 2 Domain 3 Added Func. Multiple Domain System Using Multiple domains for Scalability, Modularity & Isolation demo_domain_0 demo_domain_1 Node 1 - App 1 Pub/Sub Node 2 - App 1 Subscribe Node 4 - App 1 Pub/Sub Node 4 - App 2 Publish Node 3 - App 1 Pub/Sub Node 5 - App 1 Subscribe Node 5 - App 2 Pub/Sub Node 6 - App 1 Pub/Sub
  • 46.
  • 47.
  • 48.
  • 49. Observer Pattern: Introduction Observer ( Data Bus : Notify) Subject Update Delete Create Read
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76. Relational Database Integration Relational Actions Topic T1 I1 I2 I3 I1 I2 I3 Table T1 Publish-Subscribe Action Write() Read() & Take() Dispose() Wait() & Listener UPDATE [ 2 , 3 ] & INSERT SELECT DELETE Event driven – The fastest way to observe database changes! © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL 1. start mysql 2. start RTC ShapesDemo sql_gui stop_all sql_shell RTI Real-Time Connect
  • 77.
  • 78. Global Scalability: LAN to WAN… …without sacrificing Performance and Security DDS Routing Site A Site B Site C Site D WAN / Internet TCP/TLS/SSL Topics: Site Status Alarms Health Logs Sensor Data Proc Sensor Data Topics: Site Status Result Data Topics: Site Status Proc Sensor Data Result Data Alarms Topics: Site Status Sensor Data © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL DDS Routing DDS Routing DDS Routing
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89. Example: Publication // Entities creation DomainParticipant participant = TheParticipantFactory->create_participant( domain_id, participant_qos, participant_listener); Publisher publisher = domain->create_publisher( publisher_qos, publisher_listener); Topic topic = domain->create_topic( “ MyTopic”, “Text”, topic_qos, topic_listener); DataWriter writer = publisher->create_datawriter( topic, writer_qos, writer_listener); TextDataWriter twriter = TextDataWriter::narrow(writer); TextStruct my_text; twriter->write(&my_track);
  • 90. Example: Subscription // Entities creation Subscriber subscriber = domain->create_subscriber( subscriber_qos, subscriber_listener); Topic topic = domain->create_topic( “ Track”, “TrackStruct”, topic_qos, topic_listener); DataReader reader = subscriber->create_datareader( topic, reader_qos, reader_listener); // Use listener-based or wait-based access
  • 91. How to Get Data? (Listener-Based) // Listener creation and attachment Listener listener = new MyListener(); reader->set_listener(listener); // Listener code MyListener::on_data_available( DataReader reader ) { TextSeq received_data; SampleInfoSeq sample_info; TextDataReader reader = TextDataReader::narrow(reader); treader->take( &received_data, &sample_info, …) // Use received_data printf(“Got: %s”, received_data[0]->contents); }
  • 92. How to Get Data? (WaitSet-Based) // Creation of condition and attachement Condition foo_condition = treader->create_readcondition(…); waitset->add_condition(foo_condition); // Wait ConditionSeq active_conditions; waitset->wait(&active_conditions, timeout); // Wait returns when there is data (or timeout) FooSeq received_data; SampleInfoSeq sample_info; treader->take_w_condition (&received_data, &sample_info, foo_condition); // Use received_data printf(“Got: %s”, received_data[0]->contents);
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99. IDL vs. XML: IDL Example struct MemberStruct{ short sData; } typedef MemberStructType; //@top-level false
  • 100. IDL vs. XML: XML Example <? xml version =&quot;1.0“ encoding =&quot;UTF-8&quot;?> < types xmlns:xsi =&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation =&quot;../rti_dds_topic_types.xsd&quot;> < struct name =&quot;MemberStruct&quot; topLevel =&quot;false&quot;> < member name =&quot;sData“ type =&quot;short&quot;/> </ struct > < typedef name =&quot;MemberStructType&quot; type =&quot;nonBasic“ nonBasicTypeName =&quot;MemberStruct“ topLevel =&quot;false&quot;/> </ types >
  • 101. IDL vs. XSD: XSD Example <? xml version =&quot;1.0&quot; encoding =&quot;UTF-8&quot;?> < xsd:schema xmlns:xsd =&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:dds =&quot;http://www.omg.org/dds&quot; xmlns:tns =&quot;http://www.omg.org/IDL-Mapped/&quot; targetNamespace =&quot;http://www.omg.org/IDL-Mapped/&quot;> < xsd:import namespace =&quot;http://www.omg.org/dds&quot; schemaLocation =&quot;rti_dds_topic_types_common.xsd&quot;/> < xsd:complexType name =&quot;MemberStruct&quot;> < xsd:sequence > < xsd:element name =&quot;sData&quot; minOccurs =&quot;1&quot; maxOccurs =&quot;1&quot; type =&quot;xsd:short&quot;/> </ xsd:sequence > </ xsd:complexType > <!-- @topLevel false --> < xsd:complexType name =&quot;MemberStructType&quot;> < xsd:complexContent > < xsd:restriction base =&quot;tns:MemberStruct&quot;> < xsd:sequence > < xsd:element name =&quot;sData&quot; type =&quot;xsd:short&quot; minOccurs =&quot;1&quot; maxOccurs =&quot;1&quot;/> </ xsd:sequence > </ xsd:restriction > </ xsd:complexContent > </ xsd:complexType > <!-- @topLevel false --> </ xsd:schema >
  • 102.
  • 103.
  • 104. Let’s try the Tools!
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119. 20X Faster than JMS / Broker-based solutions Platform: Linux 2.6 on AMD Athlon, Dual core, 2.2 GHz RTI DDS is about 20X faster than JMS RTI DDS reliable multicast exhibits near perfect scalability ( 2KB messages ) © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 120. Extremely low latency and jitter © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL Reliable, ordered delivery over Gigabit Ethernet between 2.4 GHz Core 2 Quad processors running 32-bit Red Hat Enterprise Linux 5.0
  • 121.
  • 122.
  • 123.
  • 124.
  • 125. Message Batching write() sender receiver write() sender Send queue Receive queue Send queue Receive queue Without batching each message is separately sent. For small messages protocol headers might be bigger than payload With batching messages are held a little and combined into larger batches maximizing throughout and minimizing CPU receiver Transparent: Receiver still sees individual messages © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 126.
  • 127. Batching has a huge payoff! Intel Core2Duo Single-CPU Dual-Core 2.4GHz, 4MB cache 32-bit CentOS 5 (RHEL 5), 2GB memory, Intel E1000 NIC © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 128. Classic (TCP Style) Reliable Protocol No packet loss situation Company Confidential 01 02 03 04 01 02 03 04, HB 01 02 03 04 ACK 1-4 05 06 07 08 05 06 07 08, HB 05 06 07 08 ACK 1-8 © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL ShapesDemo
  • 129. Classic (TCP Style) Reliable Protocol with some packet loss 01 02 03 04 01 02 03 04, HB 01 02 X ACK 1-2, NACK 3 05 06 07 08 05 06 07 08, HB 06 07 08 ACK 1-8 03 04 05 X X Packets 04 and 05 are received but the protocol drops them because a prior packet 03 is missing. This wastes valuable bandwidth © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 130. RTI DDS Reliability (Reader Cache + SACK) improves performance when packet loss occurs 01 02 03 04 01 02 03 04, HB 01 02 X 04 ACK 1-2, SACK 3 05 06 07 08 05 06 07 08, HB 05 06 07 08 ACK 1-8 03 Packets 04 and 05 are received and cached waiting for the repair of 03. No bandwidth is wasted. © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 131. RTI DDS NACK-only reliability eliminates ACK traffic if there no packet loss 01 02 03 04 01 02 03 04, HB 01 02 03 04 05 06 07 08 05 06 07 08, HB 05 06 07 08 No ACK traffic under normal operating conditions © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 132. RTI DDS NACK-only reliability greatly reduces traffic even with packet loss 01 02 03 04 01 02 03 04, HB 01 02 X 04 NACK 3 05 06 07 08 05 06 07 08, HB 05 06 07 08 03 Negative Acknowledgments sent only when some message is lost This approach is far more scalable when there are many subscribers © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL
  • 133.
  • 134.
  • 135.
  • 136.
  • 137. Pub/Sub middleware (DDS) Application Secure OS Secure Transport DDS Application Secure DDS Global Data Credential Mgmt Authentication Access Control Data Tagging Encryption DDS Application DDS Application ? ? ? ?
  • 138. App. Other DDS System Secure DDS middleware Authentication Plugin Access Control Plugin Data Encryption Plugin Data Tagging Plugin Crypto Module (e.g. TPM ) Secure Transport (e.g. TLS) CS application component certificates Kernel Policies Network Driver Network Encrypted Data TAGS Other DDS System Other DDS System App. App. Secure Kernel (e.g. SE Linux, MILS) ? Data cache Protocol Engine DDS Entities ? 1 2 3 4 5 6 7 8 9
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.

Hinweis der Redaktion

  1. Time: 45 minutes Title: The Data Distribution Service (DDS) Standard: A Next-Generation Approach to Building Distributed Real-Time Systems Abstract: DDS has been adopted worldwide by major air force, army, marine and navy programs as an open architecture standard for integrating real-time tactical systems with each other and with enterprise applications such as command and control systems. This breakout will introduce the DDS standard and show how it provides a net-centric, service-oriented approach to meeting the messaging and integration requirements of mission-critical embedded systems. ** Booth demo ** RTI will be demonstrating its real-time publish/subscribe middleware based on the Data Distribution Service (DDS) standard. DDS dramatically reduces software lifecycle costs by making it easy to develop, integrate and scale distributed real-time applications. DDS applications are loosely coupled and can communicate seamlessly across platforms, programming languages and network transports (including shared memory, backplane, LAN, WAN, wireless and satellite links). Supported operating systems include VxWorks, VxWorks MILS 2.0, Linux, Windows, Solaris and AIX. A small-footprint version is available for systems that require DO-178B certification.
  2. Make the point that this precept has been fundamentally understood by the GVA, but the concept is empowering as a way to integrate larger systems of systems into a net-centric whole. In fact the data model of the vehicle in def-stan 23-09 can be assessed to determine what parts of its data set could and should be communicated to the wider net-centric environment. 2 nd bullet point – you can note: Otherwise how would crusty old Generals add the value they do in leading combat situations? (Joke – up to you if you use this)
  3. Last slide was at one moment in time. Now, longer-term view… Example: with 12 apps, effort is order 12 vs. order 144: order of magnitude savings
  4. Mostly for technical folks
  5. DDS provides an infrastructure for integrating real-time applications. It also facilitates integrating real-time applications with non-real-time (enterprise) applications, such as command and control systems.
  6. Work on the standard began in 2001 and version 1.0 was formally adopted in December 2004. RTI released the first commercial solution to comply with the standardized API in 2005. Implementations: RTI* PrismTech/Thales* MilSOFT* Twin Oaks* OpenDDS Gallium/Kongsberg Boeing SoSCOE *Claim support for wire protocol OCERA ORTE is RTPS only. http://www.ocera.org/download/components/WP7/orte-0.3.1.html
  7. Applications that want to contribute information to the Global Data Space can declare their intent to publish the information. Applications that want to access portions of the Global Data Space can declare their intent to subscribe to the information Decoupling in several dimensions: - Space (location): Each side does not need to know the location of the other side. They publish/subscribe to the shared “global data space” - Redundancy: It is possible for the same data to be subscribe by multiple nodes, or to be written by multiple nodes. This is all managed transparently by the infrastructure. - Time: The reception of data does not need to be synchronous with the writing. A subscriber may, if so configured, receive data that was written even before the subscriber joined the network. - Platform: Applications do not have to worry about data representation, processor architecture, Operating System, or even programming on the other side. It is possible for example to publish from a real-time node using the C language and subscribe from a Linux node running Java. Each side is isolated from the details of the other. Mechanisms in place to allow access to data only by specific applications / nodes.
  8. Applications that want to contribute information to the Global Data Space can declare their intent to publish the information. Applications that want to access portions of the Global Data Space can declare their intent to subscribe to the information Decoupling in several dimensions: - Space (location): Each side does not need to know the location of the other side. They publish/subscribe to the shared “global data space” - Redundancy: It is possible for the same data to be subscribe by multiple nodes, or to be written by multiple nodes. This is all managed transparently by the infrastructure. - Time: The reception of data does not need to be synchronous with the writing. A subscriber may, if so configured, receive data that was written even before the subscriber joined the network. - Platform: Applications do not have to worry about data representation, processor architecture, Operating System, or even programming on the other side. It is possible for example to publish from a real-time node using the C language and subscribe from a Linux node running Java. Each side is isolated from the details of the other. Mechanisms in place to allow access to data only by specific applications / nodes.
  9. Applications that want to contribute information to the Global Data Space can declare their intent to publish the information. Applications that want to access portions of the Global Data Space can declare their intent to subscribe to the information Decoupling in several dimensions: - Space (location): Each side does not need to know the location of the other side. They publish/subscribe to the shared “global data space” - Redundancy: It is possible for the same data to be subscribe by multiple nodes, or to be written by multiple nodes. This is all managed transparently by the infrastructure. - Time: The reception of data does not need to be synchronous with the writing. A subscriber may, if so configured, receive data that was written even before the subscriber joined the network. - Platform: Applications do not have to worry about data representation, processor architecture, Operating System, or even programming on the other side. It is possible for example to publish from a real-time node using the C language and subscribe from a Linux node running Java. Each side is isolated from the details of the other. Mechanisms in place to allow access to data only by specific applications / nodes.
  10. Start first window. Publish one instance of each shape (i.e., topic). Start second window. Subscribe to all three shapes. Point out: automatic discovery, peer-to-peer communication. Illustrates one-to-one communication. Start third window. Subscribe to all three shapes. Illustrates one-to-many. Start fourth window. Publish one of each shape, using different colors than are already being published. Illustrates many-to-many. Click “Delete All” and then exit the first window. Notice how well-suited DDS is for dynamic and ad hoc systems. Applications could come and go without impacting other applications. This also provides fault tolerance. Also see how this makes it easy to insert new applications and technology into already deployed systems. Note: keep the three other windows running. Will use them for showing content filter and time-based filter later.
  11. In one of the two subscribing windows, delete all of the subscriptions and then subscribe to one shape with a content-filtered topic and another shape with a time based filter. Points: Applications have fine-grained control over which data is received. This optimizes performance and reduces/simplifies application logic Filtering has no impact on either the publisher or other subscriber. It is very loosely coupled. Every application can specify its own requirements. Delete all of the publications in the publishing window and all of subscriptions in the non-filtering window. Publish a shape with Durability, Reliability, History=250 and Deadline=1000. (Publish a shape that is being subscribed with a filter.) In the window with no subscriptions, enable “Show Reliability” and subscribe to the shape being published with Durability, Reliability, History=250 and Deadline=2000. Points: Late joining applications can get the state they need to start processing, including historic data that may be necessary to “prime” algorithms. Even though the QoS of the publisher was changed, the subscriber that was running with the old QoS is still getting data. Subscribers can get data as long as the request QoS is less than or equal to the published QoS. In the subscribing window with Deadline QoS set, view the Output pane and make sure to scroll to the bottom (&lt;Control&gt;&lt;End&gt;). In the publishing window, click-hold on the shape so that it won’t be published. Note the missed deadline message. Point: Applications are notified if timing constraints are not being met so that they can take corrective action and won’t do anything erroneously.
  12. The first thing to notice is that the knowledge of your data model that was associated with the data stream in the data-centric technology disappears when you use a message-centric technology. That makes it much harder to develop a generic component such as the Web Integration Service, which much transform arbitrary data types to and from XML, downsample data by based on content, etc. First message arrives. It has the same structure as we saw before, except without a known type definition, the type information must be embedded within the message itself, significantly increasing its size. The second message arrives. It’s in a totally different format than the first! This one is just a blob of binary-encoded data. Maybe the consuming application understands how to decode it and maybe not. Each application connected to the network will have expectations about the formats of the messages it receives. But a messaging infrastructure can’t support those expectations, so they have to be enforced by an organizational policy. I write up a Word document that describes how you should format your messages and email it to you, and you have to follow my instructions. If you make a mistake, we’ll have to debug it at integration time. In a data-centric approach, data type enforcement is built in: developers work with typed objects in their programming languages, errors are detected when the code is compiled before it’s ever deployed, and runtime mismatches that do occur are detected automatically by the middleware. How do I describe a content-based filter on a binary blob? How do I transform it into another format? How do I map it into a database? The third message arrives. It’s in yet a third format: a plain text string. Because the messaging system doesn’t have any concept of object lifecycle, each system has to define its own ad hoc system of sentinels: “create” messages, “dispose” messages, etc. More work, and it makes it much more difficult to leverage something you’ve built for one project on the next project. By comparison, Web Integration Service takes advantage of the built-in lifecycle support in DDS – you saw that when tracks were marked with “X” or “?”. And without any knowledge of your objects or their lifecycle, a messaging infrastructure can only support qualities of service that make sense across an entire topic: for example time-to-live (“lifespan” in language of DDS).
  13. From the beginning, the data stream is associated with the schema of the data that will be propagated on that stream. Your applications already have some expectations; if you express those to a data-centric infrastructure, it can help you. For example, you can use this schema to automatically transform data into other formats. (This is how the Routing Service and Web Integration Service work.) The infrastructure can also dissect your data to filter on content (for example “give me updates where x &gt; 5”). “ Key” means “this field establishes the identity of a unique object.” Like the key in a relational database table. In DDS, can be any number of fields of any type(s). New track you’ve never seen before. Notice that since type is already known, only need to send field values, not field names or types. Update to a track you’ve already seen Another new track – notice that the key is different A track you’ve seen before has gone away
  14. Effector is responsible for transition algo. In this case, x  y  z. But could have chosen “curved” path x  …  z that never reached y.
  15. Time: 45 minutes Title: The Data Distribution Service (DDS) Standard: A Next-Generation Approach to Building Distributed Real-Time Systems Abstract: DDS has been adopted worldwide by major air force, army, marine and navy programs as an open architecture standard for integrating real-time tactical systems with each other and with enterprise applications such as command and control systems. This breakout will introduce the DDS standard and show how it provides a net-centric, service-oriented approach to meeting the messaging and integration requirements of mission-critical embedded systems. ** Booth demo ** RTI will be demonstrating its real-time publish/subscribe middleware based on the Data Distribution Service (DDS) standard. DDS dramatically reduces software lifecycle costs by making it easy to develop, integrate and scale distributed real-time applications. DDS applications are loosely coupled and can communicate seamlessly across platforms, programming languages and network transports (including shared memory, backplane, LAN, WAN, wireless and satellite links). Supported operating systems include VxWorks, VxWorks MILS 2.0, Linux, Windows, Solaris and AIX. A small-footprint version is available for systems that require DO-178B certification.
  16. So, what is RTI Routing Service? In a nutshell, Routing Service provides high-performance real-time data forwarding and transformation across DDS Domains, Communities of Interests and Wide Area Networks (WANs) including firewall and NAT traversal. With its plug-in architecture to accommodate new transports and bridging functionality, it has been designed from the ground up to meet custom integration requirements, such as: Bridging between new DDS applications and legacy systems; and Increasing data security by controlled information flows. With the help of our Services team, custom integrations can be easily created and with low risk. My colleague Gordon will explain this further in a little while. As we’re introducing our edition-based packaging, Routing Service will be available as a component of the new RTI Enterprise Edition. Later we’ll give details about how to get access to Enterprise Edition and Routing Service at a significant discount.
  17. Hands-On: show rtiddsgen –help output
  18. Short, easy to write Efficient, OMG standard
  19. AUTOCOMPLETION XML friendly, easy to extend More powerful
  20. First step to interoperate with WS Some customers have a lot of sources in XSD or WSDL
  21. This is a great tool for seeing the organization of your distributed environment. Having the ability to change QoS settings on the fly and observing how they impact the overall environment is extremely useful Having the ability to determine “WHY” a DataWriter is not talking to a specific DataReader is also very beneficial. This has the ability to show both Node views and Topic views of the system.
  22. Note: only one document can be specified with the string_profile variable
  23. How it is realized http directly to the data bus
  24. RTI is your best partner for a successful DDS deployment: Broadly proven commercial technology &gt;11 years of commercial availability RTI is the de facto standard, with &gt;70% market share Selected for nearly 500 unique applications – many mission critical – many deployed Industry-leading expertise and services capability We know the DDS standard better than anyone We have the most experience putting DDS to use in real applications We have a large team of senior, experienced engineers at your disposal to allow you to leverage our expertise: whether for training, consulting or as a partner in your development Corporate focus and commitment All of RTI’s technology is built on DDS – we are completely committed to it – we sold off our non-DDS business Proven, financially strong DDS business DDS is not acquired or peripheral technology that we could drop or dispose of if it became financially expedient Comprehensive infrastructure built around DDS DDS is only part of your infrastructure and application – RTI provides the most comprehensive overall solution to your real-time application and data management requirements Development tools, database integration, real-time data recording, Complex Event Processing, real-time data visualization dashboards Plus the largest set of partners for additional capabilities like modeling, high-performance transports, real-time operating systems and JVMs Superior architecture and implementation Significantly higher performance: lower latency and higher throughput with less overhead on your compute resources Much more fault tolerant and highly available, with no single points of failure and full redundancy for all services Most flexibility for supporting additional transports, legacy or other non-DDS data types, and custom discovery requirements, Best suited for resource-limited embedded systems Broadest availability across enterprise and embedded platforms Quality by design Mature, formal processes for design, development and Quality Assurance Invest in comprehensive user documentation Proof point: 98% customer satisfaction - extraordinary in any industry In summary, RTI provides: Highest performance and fault tolerance – because of our superior peer-to-peer architecture Fastest time-to-market Leveraging our training, consulting, engineering services and high-quality support organization Superior documentation Most complete infrastructure Flexible implementation Lowest risk Proven commercial technology Most experience and expertise with successful DDS deployment Quality processes and support Corporate focus and commitment to DDS