Home

User`s Manual - Community RTI Connext Users

image

Contents

1. Extensible Types Examples Data models often need to evolve In a deployed system you might want to deploy new applications that can handle additional attributes in the data model yet maintain com patibility with already deployed applications without making any changes The Extensible Types feature is designed to handle these situations applications using dif ferent but compatible data types can still communicate The Shapes Demo application uses two different data types to demonstrate this scenario In addition to the Shape data type that has been used in the previous exercises Shapes Demo can also publish and subscribe a Shapes Extended data type In addition to the QoS settings that you will experiment with in these exercises there is another QoS specific to Extensible Types TypeConsistencyEnforcementQosPolicy that can further customize the behavior of applications when using Extensible Types For details see the RTI Core Libraries and Utilities Getting Started Guide Addendum for Extensi ble Types Introduction to the Shape Extended Type 1 Start a new instance of Shapes Demo i A8 RTI Shapes Demo Domain 0 b which we will refer to as File View Publish Subscribers Controls Help Publisherl In the configuration dialog select the Shape Extended data type Keep all the other default settings and click Start Configuration 2 Repeat Step 1 to start a second Man ee instance
2. Windows Firewall has blocked some features of RTI Shapes Demo on all public private and domain networks Name RTI Shapes Demo Publisher Real Time Innovations Inc Path C program files x86 rtirti shapes demo 4 5x bin tishapesdemo exe Y86win32vs2005 ti Allow RTI Shapes Demo to communicate on these networks V Domain networks such as a workplace network Y Private networks such as my home or work network 7 Public networks such as those in airports and coffee shops not recommended because these networks often have little or no security What are the risks of allowing a program through a firewall B 1 B 2 Running without an Active Network Interface If you run Shapes Demo on a system that does not have an active network interface you may see this warning WARNING A Create participant failed Trying with no network mode Participant creation failed because by default Shapes Demo uses UDPv4 which is not available if there is no active network interface After you select OK Shapes Demo will create a participant using shared memory instead of UDPv4 B 2
3. Default Default Cirde Shape Pub GREEN A Default Default Square Shape Sub e Take Default Default Triangle Shape Sub Read Shapes_Lib Batc 4 m p Output Legend If you right click on a publisher entity in the Legend tab you can access these commands e Pause resume publishing see Section 3 4 2 e Dispose data and delete the DataWriter e Unregister data and delete the Data Writer If you right click on a subscriber in the Legend tab you can access a command to delete the DataReader Another way to delete a publisher or subscriber is to click on it in the Legend tab and press the Delete button on your keyboard BR When you press Delete the current setting for the WriterDataLifecycle QoS policy s autodispose_unregistered_instances field determines if the DataWriter s data is disposed before it is unregistered If autodispose_unregistered_instances has not been changed via a QoS profile the default setting will cause the data to be disposed and unregistered 3 15 ouJegq ou Buisn Installing and Using Shapes Demo 3 5 3 16 Dispose vs Unregister When data is disposed all DataReaders are informed that as far as the DataWriter knows the data instance no longer exists and can be considered not alive When data is unregistered this indicates only that a particular Data Writer no lon ger wants to modify an instance an important distinction if there are multiple DataWriters f
4. QoS parameters control virtually every aspect of the Connext model and the underlying communications mechanisms Many QoS parameters are implemented as contracts between publishers and subscribers publishers offer and subscribers request levels of service The middleware is responsible for determining if the offer can satisfy the request thereby establishing the communication or indicating an incompatibility error Ensuring that participants meet the level of service contracts guarantees predictable operation More information about some important QoS parameters is presented below 2 3 uonpuuoju pUNOIBADD4 Z Background Information 2 3 2 4 Deadline Periodic publishers can indicate the speed at which they can publish by offering guaranteed update deadlines By setting a deadline a compliant pub lisher promises to send a new update at a minimum rate Subscribers may then request data at that or any slower rate Reliability Publishers may offer levels of reliability parameterized by the number of past issues they can store for the purpose of retrying transmissions Subscribers may then request differing levels of reliable delivery ranging from fast but unre liable best effort to highly reliable in order delivery This provides per data stream reliability control Strength The middleware can automatically arbitrate between multiple publishers of the same topic with a parameter called strength Subscribers receive from
5. 4000 ms a Under Subscribe click on Apply QoS from Profile Choose the profile Color Key Initial Size Defauit Default QoS Values Square la Ownership Lveiness x Exdusive AUTOMATIC y b In the Create New pom Lease Duraton in Subscriber window Duy moy VOLATILE x 5 e Set Deadline to 4000 ms l e Click OK Reliability You ll see six cyan squares Content Filter Topic Read method to use Use filter Read Take moving around Subscriber1 s o canvas This set of squares Rotation Speed mirrors the movement of the a Gere cyan square in Publisherl s canvas along with 5 historical samples Note The subscriber s deadline must be greater than or equal to the publisher s deadline If not an Incompatible QoS Deadline on Square error message will be displayed in the Output tab of the Subscriber demo application In Publisher1 s Controls sub panel click Pause Publishing The cyan square in Subscriberl s canvas should freeze Note that now all the samples borders have the same thickness this indicates that all of them are his torical data In Subscriber1 select the Output tab to see messages notifying the application that the promised deadline of 4000 ms has been missed as seen in Figure 4 5 4 Click Resume Publishing The cyan squares in Subscriber1 s canvas will start moving again mirroring the movement in Publisher1 s canvas 5 Click Delete All in the Controls sub
6. sess ee eee B 2 Chapter 1 Introduction Welcome to the RTI Shapes Demo This demonstration application is a self contained introduction to the elegance and power of publish subscribe networking It goes beyond simple publishing and subscribing however This demo will also give you a glimpse of the goals and capabilities of RTI Connext formerly RTI Data Distribution Service As you will see RTI Connext offers flexibility performance and reliability well beyond other networking technologies while addressing the challenge of extremely high performance distributed networking Connext offers flexible and fine grained control over Quality of Service QoS parameters No one application can showcase all the supported QoS param eters Shapes Demo is intended to pro vide you with an abbreviated introduction to Connext concepts it cov ers a small subset of the many QoS parameters available in Connext Shapes Demo publishes and subscribes to writes and reads colored moving shapes which are displayed in the demo s window Each copy of Shapes Demo can simultaneously publish and subscribe to many topics shapes Shapes Demo also demonstrates the con cepts of Extensible types Shapes Demo can publish and subscribe to two differ ent data types the Shape type or the File View Publish Subscribe Controls Help Square Circle Triangle Subscribe Square Circle Triangle Controls Delete All Pause Publishing
7. Hide History Configuration Name Data Type Type Color Partitions Read Take QoS Settings Shape Pub BLUE Default Default Shape Pub YELLOW Shape Pub ORANGE Default Default Default Default m D Ready on domain 0 Shape Extended type In a production scenario your deployed applications are com uoyonpoju L Introduction 1 1 municating using some existing data type However after deployment you may find it necessary to modify the deployed data model For instance you may need to add new attributes Connext s Extensible Types feature is designed to make your data type flexi ble and allow it to evolve over time Guide to this Document This document will guide you through the demonstration the middleware and the underlying principles L Goals of the Demonstration Section 1 2 below outlines the concepts and goals of this demonstration 1 Chapter 2 Background Information provides an overview of publish subscribe and other communication paradigms It also provides an overview of Connext and its key concepts L1 Chapter 3 Installing and Using Shapes Demo details the features of the demon stration application IJ Chapter 4 Examples jumps right into using the application and playing with examples Feel free to start here if you are familiar with publish subscribe net working J Chapter 5 About RTI describes RTI products and where to seek further informa tion I Appendix A explains how to r
8. This profile enables best effort communication in the DataWriter and keeps the last 10 samples It also enables batching with a maximum flush delay of 1 second and allows an unlimited number of bytes to be batched for up to 10 samples 1 See Dispose vs Unregister on page 3 16 3 6 Publish and Subscribe Task Panes L RTI_Shapes_Lib History_KeepLast20 This profile sets the DataReader s His tory QoS to keep the last 20 samples I RTI_Shapes_Lib Ownership_Shared This profile sets Ownership to SHARED and Durability to TRANSIENT with direct communication to true for both the DataReader and the DataWriter Both the DataReader s and the DataW riter s Liveliness is set to AUTOMATIC with a lease duration of 1 second The DataReader has a History depth of 100 samples and is set to RELIABLE LJ RTI Shapes Lib Ownership Exclusive This profile sets Ownership to EXCLUSIVE for both the DataReader and the DataWriter The DataWriter s Own ership Strength is set to 4 E RTI_Shapes_Lib Durability_Volatile This profile sets Ownership to VOLA TILE and History of 100 samples for both the DataReader and the DataWriter The DataReader is set to be RELIABLE L RTI_Shapes_Lib Durability_Transient This profile sets Ownership to TRAN SIENT for both the DataReader and the Data Writer L RTI_Shapes_Lib Durability_Persistent This profile sets Ownership to PER SISTENT for both the DataReader and the DataWriter L MonitorDem
9. 4 7 3 4 Drag the shape around on Publisher1 s canvas On Subscriber1 s canvas you will see a shadow of objects printed out in a con tinuous pattern The shadow is caused by the subscriber showing the last 100 data samples from the publisher s history queue 5 In Publisher1 click Pause Publishing 6 In Subscriber1 notice that the samples disappear as they time out Experiment by increasing the Lifespan setting for the publisher The longer the Lifespan the longer it takes for the samples to disappear when you pause publishing Ad RTI Shapes Demo Domain O aibs E RTI Shapes Demo Domain 0 UU File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Publish Publish Square Square Circle Circle Triangle Triangle Subscribe e Square F Square a Circle Circle Triangle Triangle Controls Controls Delete All Delete All Pause Publishing Pause Publishing Hide History Hide History Configuration Configuration X Reliability and Durability Example In a dynamic system you may want late joining nodes to get the data that was sent before the nodes connected to the network For example suppose you need to initialize the state of these late joining nodes and don t want to be continually sending the state just in case some node joins late The Durability QoS provides late joining nodes with the ability to get pre
10. All Delete All Pause Publishing Pause Publishing Hide History Hide History Configuration I Configuration Name DataType Type Color Partitions Read Take QoS Se Name DataType Type Color Partitions Read Take QoS Se Square Shape Extended Pub BLUE Default Square Shape Sub gt Read Default Output Legend Output Legend Ready on domain 0 Ready on domain 0 tels Ey P Publishing Shape Extended Subscribing to Squares Configured to use Shape data type 6 Close both instances of Shapes Demo 4 17 sejduupx3 y Examples 4 6 3 Publishing Original and Extended Types Subscribing to Extended Type This scenario simulates the situation where deployed applications are publishing data using the old model and new applications are receiving data of both the original and extended data types 1 N Start an instance of Shapes Demo which we will refer to as Publisher1 In the con figuration dialog keep all the default settings including the Shape data type and click Start In Publisher 1 publish a blue square 3 Start a second instance of Shapes Demo In the configuration dialog select the IS ol eo Shape extended data type and click Start We ll refer to this as Publisher2 In Publisher2 publish a red square with the horizontal hatch fill pattern and a medium rotation speed Start a third instance of Shapes Demo In the config
11. Check Exclusive er Set Strength to 1 e Click OK Rotation Speed Slower 4 7 sejduupx3 p Examples 4 8 2 You should see a floating orange triangle on the canvas We created a publisher with exclusive ownership and a strength of 1 In one of the other Shapes Demo windows create a triangle sub scriber with Exclusive owner ship We will call this window Subscriberl a Under Subscribe click on Triangle b In the Create New Subscriber window e Check Exclusive e Click OK You should see 6 orange trian gles with blue borders moving around in the Subscriberl can vas So far this is similar to the publisher subscriber exercise In the third window create an orange triangle publisher with Exclusive ownership and Strength 3 We will call this window Publisher2 a Under Publish Triangle b In the Create New Publisher window click on e Select ORANGE for Color e Check Exclusive and set Strength to 3 e Click OK You should see an orange tri angle in Publisher2 s canvas Apply QoS from Profile Choose the profile Default Default QoS Values Ownership V Exdusive rengt V Reliability Content Filter Topic Use filter Apply QoS from Profile Choose the profile Liveliness AUTOMATIC X Lease Duration ms Extended Attributes Shape fill style 3 Solid V Reliability Transparent Content Filter Topic Horizontal hatch U
12. Sets the X and Y positions where the Shapes Demo window will be displayed on your screen The valid range for lt integer gt depends on your screen s resolution Using 1 1 for the X and Y positions results in a default position chosen by either the windowing system or wxWidgets depending on platform pubInterval integer Specifies how often the publisher should send data in ms Default 50 ms subInterval integer verbosity 0 5 Specifies how often the subscriber should look for data in ms Default 50 ms Controls the verbosity of messages from Shapes Demo 0 SILENT No further output will be logged Default 1 ERROR Only error messages will be logged 2 WARNING Both errors and warnings will be logged 3 LOCAL Errors warnings and verbose information about the lifecycles of local Connext objects will be logged 4 REMOTE Errors warnings and verbose information about the lifecycles of remote Connext objects will be logged 5 ALL Errors warnings verbose information about the lifecycles of local and remote Connext objects and periodic information about Connext threads will be logged workspaceFile lt file gt Specifies an XML configuration file Default See Shapes Demo s Workspace on page 3 16 Appendix B Troubleshooting B 1 Windows Security Alert When you run the demo you may encounter a Windows Security Alert dialog Simply click Allow Access
13. ee eere Hee tette net teca 3 15 3 5 Shapes Demo s Workspace nce net ene p doves ards lover stubs E e 3 16 9 6 Using MORIA ii nete bep n ER e a e oreet d eee 3 17 EXGIDDIGS oio o ao xe aa o Eruca E e LEM M OST D NE 4 1 4 1 Publish Subscribe Example eee de rete et ee repe t diede 4 1 42 Multiple Instances Example niei iren eter een eee eite 4 4 43 Ownership Exariple oen tee ete etit eet e 4 7 44 Failure Detection Example teeth eden en ette ete 4 10 4 5 Bailover Example i o e Ene ee eolit eset Hesperia 4 12 46 Extensible Types Examples cimas iii tete bee 4 15 4 66 1 Introduction to the Shape Extended Type 4 15 4 6 2 Publishing Extended Type Subscribing to Original Type sss 4 17 4 63 Publishing Original and Extended Types Subscribing to Extended Type 4 18 4 7 More Experiments ore reete Ii rer En erae it rie i etre iii 4 19 47 1 Content Filtered Topics Example sees eene 4 19 4725 Lifespan Example eee deeds t ete dt true ie 4 20 47 3 Reliability and Durability Example sse 4 21 47 4 Time based Filtering Example sse eee eene enne 4 22 ADOUPRIL S zocs sett sae dad 5 1 Running from the Command Line A 1 Itoubieshoollhg i eni ber eu ee a B 1 B 1 Windows Security Alert ttim n reti ag e a deett eee iii B 1 B 2 Running without an Active Network Interface
14. of Shapes Demo which we Con sl i B 5 will refer to as Subscriber1 Again Duell cove temen o select the Shape Extended data i eibi 77777 type m Output Legend Please select Configuration under controls and click Start M y 4 15 sejduupx3 y Examples 3 Publish a Square in Publisherl In the publish screen choose the hori zontal hatch pattern and set the rotation speed to middle setting 4 Subscribe to Squares in Subscriber1 In the subscriber you will see the shape with the selected pattern rotating at the selected speed Triangle Delete All Pause Publishing Hide History Configuration m Extended Attributes Shape fill style Solid Transparent Horizontal hatch Vertical hatch Rotation Speed Delete All Pause Publishing Hide History Configuration Name DataType Type Color Partitions Read Take QoS Settings Square Shape Extended Pub BLUE Default Default Publisher 5 Feel free to repeat with other shapes 6 Close both instances of Shapes Demo 4 16 Name DataType Type Color Partitions Square Shape Extended Sub Subscriber fill patterns and speeds Read Take QoS Settings Extensible Types Examples 4 6 2 Publishing Extended Type Subscribing to Original Type This scenario simulates
15. the strongest active publisher This provides automatic failover if a strong publisher fails all subscribers immediately receive updates from the backup weaker pub lisher Durability Publishers can declare durability a parameter that determines how long previously published data is saved Late joining subscribers to durable publica tions can then be updated with past values Other QoS parameters control when the middleware detects nodes that have failed sug gest latency budgets set delivery order attach user data prioritize messages set resource utilization limits partition the system into namespaces and more Connext QoS facilities offer unprecedented flexibility and communications control Publish Subscribe Simple Analogy The publish subscribe communications model is analogous to that of magazine or newspaper publications and subscriptions Think of a publication as a newspaper such as New York Times The Topic is the name of the periodical New York Times The type specifies the format of the information weekly printed magazine or daily newspa per The user data is the contents text and graphics of each sample weekly or daily issues The middleware is the distribution service US Postal service or a paper delivery service that delivers the reading material from where it is created a printing house to the individual subscribers people s homes This analogy is illustrated in Figure 2 1 Note that by subscrib
16. the profile ey VOLATILE x 1 Deadline ms INF Lifespan ms J Reliability INF Exclusive Ownership and Strength Ownership determines whether or not the instance specified by color of the Topic is exclusively owned by one publisher that is if multiple publishers of Red Squares can send data to this instance at the same time or not If the Exclusive checkbox is selected for a publisher the Strength box will become available for input The publisher with the highest Ownership Strength number is the only publisher that can write data to this instance If the Exclusive checkbox is selected for a subscriber it means that the subscriber only wants data from one publisher the one with the highest ownership strength The publisher and subscriber must use the same setting so either check this box for both or leave it unchecked for both Otherwise their QoS are incompatible and the pub lisher and subscriber will not communicate Durability Durability controls whether the publisher will store the data that it sends so that it can be sent to new subscribers that join the system later The possible settings for this QoS are LJ VOLATILE Default Data samples are not stored Publish and Subscribe Task Panes Table 3 1 3 3 6 3 L TRANSIENT Connext will attempt to store samples in memory The data will sur vive the DataWriter LJ TRANSIENT LOCAL Connext will attempt to store samples in memory The data
17. timing and reliability requirements RTI s Professional Services team is here to help you meet the challenges of developing complex networked applications Building upon RTI s market leading products RTI Professional Services provides customers an important head start and competitive edge we re here to help you mitigate project risk increase productivity and deliver quality often on a shortened schedule The RTI Professional Services team of highly trained and specialized engineers has been helping customers develop a broad range of data critical applications for more than a decade Our past engagements include custom middleware for industrial automation performance optimizations for financial trading systems integration of shipboard net works design and integration of robotic cranes and the architecture for a 24x7 train dis patch call center Our team draws on experience building systems not just networks and can provide insight at any stage in the product life cycle RII also offers extensive training RTI s Quickstart course has over 1 000 graduates as of this writing On site training is available public training schedules are available from WwWwW rti com Finally RTI has many professionals ready to answer your questions Email sales rti com with any business or technical questions you may have We will happily support a no obligation on site evaluation 5 3 IL noqy G About RTI 5 4 Appendix A Running from the C
18. using the workspaceFile command line option If the file specified after workspaceFile is not found it will be automatically created 1 executable dir gt means the directory two levels up from that of the Shapes Demo executable Using Monitoring 3 6 If you do not use workspaceFile and RTI_SHAPES_DEMO xml is not found any where in the current working directory two levels up the executable directory or My Documents RTI RTI Shapes Demo lt version gt on Windows systems Shapes Demo will automatically create a workspace file in lt executable directory gt on non Windows systems or in My Documents RTI RTI Shapes Demo lt version gt on Windows systems the file will be named RTI_SHAPES_DEMO xml Using Monitoring This section is only useful if you have RTI Monitor a graphical tool that displays moni toring data from RTI Connext applications in which monitoring is enabled To enable monitoring in Shapes Demo select the MonitorDemoLibrary Default QoS profile described in Apply QoS from Profile Section 3 3 5 For more information on monitoring please see the RTI Monitor Getting Started Guide and RTI Monitor User s Man ual 3 17 ouJeg ay Buisn Installing and Using Shapes Demo 3 18 Chapter 4 Examples 4 1 Important Unless otherwise noted these examples assume you are using the default Shapes Demo settings meaning the RTI SHAPES DEMO QOS PROFILES xml file is loaded This file tel
19. when it is not actively sending data For a publisher the Liveliness value is the maximum time interval within which a pub lisher will signal that it is active For a subscriber the Liveliness value is the maximum time interval within which a sub scriber expects to be notified that the publisher is alive A subscriber s Liveliness must be greater than or equal to the publisher s Liveli ness Valid settings range from 0 to 31 536 000 000 ms 1 year or INF for infinity the default Publish and Subscribe Task Panes 3 3 6 6 3 3 6 7 3 3 6 8 History History controls the amount of data that is kept in the send queue This is normally used in connection with Durability and or Reliability If Durability is selected then History determines how much previously sent data is sent to late joining subscribers Valid set tings range from 0 to 100 000 000 The default is 1 Deadline For a publisher the Deadline value is the time interval within which the publisher com mits to updating data at least once if not more frequently For a subscriber the Deadline value is the maximum time interval between data updates that the subscriber expects from the publisher If a publisher fails to send a data update within the subscriber s requested Deadline interval the subscriber will get a deadline missed notification Valid settings range from 1 ms to 1 year or INF for infinity the default A subscriber s Deadl
20. will not survive the DataWriter l PERSISTENT Connext will store previously published samples in permanent stor age like a disk The data will survive the DataWriter Which particular samples are stored depends on other QoS such as History Section 3 3 6 6 and ResourceLimits If Durability is selected for a subscriber the subscriber will ask the publisher to send all previously written data All data in the publisher s history queue will be sent to the sub scriber To buffer this temporary high throughput the subscriber should use a History value comparable to the publisher s The publisher and subscriber must use compatible settings as described in Table 3 1 Valid Combinations of Durability Subscriber TRANSIENT_ VOLATILE LOCAL TRANSIENT PERSISTENT VOLATILE v incompatible incompatible incompatible TRANSIENT v v incompatible incompatible i LOCAL Publisher TRANSIENT incompatible PERSISTENT v Note If you select Durability you must also select Reliability this applies to the pub lisher and subscriber Time Based Filter Time Based Filter is only available when creating a subscriber It is the minimum sepa ration time in milliseconds that the subscriber wants between data updates Any data arriving within this time interval will be discarded Where possible the publisher will not publish the data Valid settings range from 0 to 31 536 000 000 ms 1 year The Time B
21. Figure 4 1 Publisher and Subscriber Displays RTI Shapes Demo Domain 0 File View Publish Subscribe Controls Help RI ei i 5 File View Publish Subscribe Controls Help Name DataType Type Color Partitions Read Take QoS Se Cirde Shape Sub Read Default Ready on domain 0 Publisher 3 Test real time data delivery To show that the subscriber is receiving real time data move the cursor over the Publisher s red circle and click the mouse button This will stop the red circle in the publisher canvas Drag the cursor and move it around while holding down the mouse button The red circles on the subscriber canvas should exactly mirror your mouse movements Congratulations you have just finished the first exercise which illustrates basic pub lish subscribe functionality Ready on domain 0 Subscriber If you plan to continue with the next exercise leave the two demo windows running The next exercise will use the red circles Examples 4 2 4 4 Multiple Instances Example Instances are useful when you are dealing with data that is unpredictable in terms of its creation and deletion e g aircraft airplane flight tracks and shipment tracking Flights and shipments can come and go The application has no way of knowing when or how many flights shipments show up Connext provides rich semantics that can be used to track monitor
22. RIT Shapes Demo A Demonstration of RTI Connext User s Manual Version 5 0 f t Your systems Working as one O 2006 2012 Real Time Innovations Inc All rights reserved Printed in U S A First printing August 2012 Trademarks Real Time Innovations and RTI are registered trademarks of Real Time Innovations Inc All other trademarks used in this document are the property of their respective owners Copy and Use Restrictions No part of this publication may be reproduced stored in a retrieval system or transmitted in any form including electronic mechanical photocopy and facsimile without the prior written permission of Real Time Innovations Inc The software described in this document is furnished under and subject to the RTI software license agreement The software may be used or copied only under the terms of the license agreement Technical Support Real Time Innovations Inc 232 E Java Drive Sunnyvale CA 94089 Phone 408 990 7444 Email support rti com Website https support rti com Contents ER elicele lirei ilo a Areen A EE E oc 1 1 TII Guide to this Document unns ble aid 1 2 1 2 Goals of the Demonstration cccccccssccsssesssceesecessecsseecscceseecsseceseecsssecaecesseesseceaseceseecsaeeeseensess 1 3 2 Background InformatiON cccoococcocnnonnnnnccnnnonononcnnnnnnnnnnnnas 2 1 2 1 Communication Models in Networking Middleware sss 231 22 Co
23. You will see 6 red circles with blue borders on the Subscriber canvas mirroring the movements of the circle in the Publisher canvas The Extended Attributes Shape fill style 9 Solid Rotation Speed Create new Subscriber Circle Color Key PURPLE O BLUE Initial Size 30 Extended Attributes Shape fill style Solid Apply QoS from Profile Pa Choose the profile Defauit Default QoS Values Ownership Exdusive Durability oane x Reliability Content Filter Topic Use filter Apply QoS from Profile Choose the profile Liveliness AUTOMATIC X Lease Duration ms INF History 1 Deadine ms INF Lifespan ms INF Read method to use 9 Read Take Defauit Default QoS Values Ownership E Exdusive 1 Durabili voLariue X Time based Filter ms 0 Reliability Content Filter Topic JUse filter liveliness auromaric y Lease Duration ms INF History 6 Deadline ms INF Read method to use Read TakeO EE Lena leading circle indicates the current position of the published circle The other cir cles are the historical samples kept by Connext You can see the difference between historical data and new data looking at the thickness of the border You can also hide historical data by selecting Hide History from the Controls menu Your windows should look similar to Figure 4 1 4 2 Publish Subscribe Example
24. and check the state new deleted no writers etc of individual instances Some of the possible notifications are displayed in the Output tab Publishers and subscribers are associated with a topic If you create a new topic every time a new flight is detected you would need to create a matching subscriber and pub lisher pair This is obviously not scalable since you can have many different aircraft flight plans Instances give you the ability to scale a topic Unique instances of a topic are defined by unique key values A subscriber of a topic will get all the data sent on all the instances of this topic Take the example of flight track data the key could be the flight 1D pilot name or mission code Regardless of how many new flights there are you would only need one subscriber to get the data because the topic is the same In this example the topic is the shape of the object Square Circle or Triangle and the key is its color So different colors of an object give you different instances of the topic For example a red circle is a different instance from a green circle yet they are all instances of the Circle topic At this point you should have two copies of Shapes Demo running which will be referred to as Publisherl and Subscriber1 In this example you will be asked to start additional copies of Shapes Demo Tip If you make a mistake during the following steps and need to delete a single pub lisher or subscriber select t
25. ased Filter value must be less than the Deadline value Section 3 3 6 7 3 9 ouJegq eui Buisn Installing and Using Shapes Demo 3 3 6 4 Table 3 2 3 3 6 5 3 10 Reliability If Reliability is selected for a publisher the default setting for a publisher the publisher will attempt to deliver all data sent If data has not been received by the subscriber due to a communication error the middleware will retransmit the data If Reliability is not selected the publisher will use best effort communication and will not retransmit any missing data If Reliability is not selected for a subscriber the default setting for a subscriber the sub scriber will not expect lost data to be resent If Reliability is selected for a subscriber the subscriber expects all data updates reliably It listens for heartbeats from the publisher and responds with either a positive acknowledgement to indicate data receipt or a negative acknowledgement to initiate retransmission of missing data The publisher and subscriber must use compatible settings as described in Table 3 2 Valid Combinations of Reliability Subscriber Reliability not selected Reliability selected default BEST_EFFORT RELIABLE Reliability not selected v incompatible default BEST EFFORT Publisher Reliability selected v v RELIABLE Liveliness and Lease Duration Liveliness is used to detect the state of the publisher even
26. bed in the Core Libraries and Utilities API reference documentation which is available in HTML and PDF formats Durability_Transient for all supported programming lan Durablity_Persistent MonitorDemoLibrary MonitorDefault guages MonitorDemoLibrary SamplesRejectedSc MonitorDemoLibrary FixedSamplesRejec Shapes_Default_Profile Batching _Lib History_KeepLast_20 _Lib Ownership_Shared Ownership Exdusive Durability_Volatile A profile contains the QoS values that will be used for the objects cre ated by the demo All QoS values not specified in the selected profile will use default values noted in the Core Libraries and Utilities API reference documentation Any QoS settings that you make in the Create New Publisher Subscriber dialog take precedence over the values in the selected profile See Setting QoS Values Section 3 3 6 Shapes Demo includes an XML file RTI SHAPES DEMO QOS PROFILES xml which includes these profiles L Default Default This profile means you want to use whichever profile in the XML file is marked as the default with qos profile name x is default qos true In RTI SHAPES DEMO OOS PROFILE xml the default profile is RTI Shapes Lib Shapes Default Profile I RTI Shapes Lib Shapes Default Profile This profile sets the DataWriter s autodispose unregistered instances to false and the DataReader s History depth to keep the last 6 samples l RTI_Shapes_Lib Batching
27. c The green circle was just another instance of the topic Circle so the subscriber received this new data automati cally 5 Create another red circle publisher in a new window a Start a third Shapes Demo We will refer to this copy of the application as Publisher2 b Under Publish click on Circle c In the Create New Publisher window e Select RED for Color Click OK Figure 4 3 Two Publishers and One Subscriber Publisher Publisher2 RTI Shapes Domain RTI Shapes Demo Domain 0 File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Square Square Circle O Circle O Triangle Triangle Subscribe 0 ri 5 gt gt M File View Publish Subscribe Controls Help Publish Square Controls Circle Delete All Triangle Pause Publishing Hide History Configuration Y Read Take QoS Se Tn Pub Default Cirde Shape Pub Delete All m Pause Publishin 7 Hide History Output Legend Configuration hd Ready on domain 0 T T T T Name DataType Type Color Partitions Read Take QoS Set Cirde Shape Sub e Read Default D m D Subscriber Output Legend Ready on domain 0 Ownership Example 4 3 We now have multiple publishers updating the same instance Red of the topic Circle You ll see that the red circle in Subscriber1 s canvas flickers between dif ferent locations This happens because the subscriber is receivin
28. can choose whether it will use read or take LJ With read the default Connext will continue to store the data in the DataReader s receive queue The same data may be read again until it is taken in subsequent take calls Graphically a new sample is shown with a thicker border LI With take Connext will remove the data from the DataReader s receive queue The data returned by Connext is no longer stored by Connext Other Controls The Controls sub panel includes various commands that you can TO Help use to control the demo SONDA Delete All Pause Publishing Hide History Configuration Delete All This command deletes all the publishers and subscribers that have been created in the demo application All objects moving in the application window will disappear and no data will be sent or received NOTE Delete All removes all the entities but it does not destroy the participant The quick reset is to select Configuration Stop Start If you have started multiple copies of Shapes Demo you will need to click Delete All in each copy to delete their respective publishers and subscribers Other Controls 3 4 2 3 4 3 3 4 4 Pause Publishing The Pause Publishing command is only effective on publishers It pauses the sending of coordinate data for the shape until you click Resume Publishing When Pause Publish ing is clicked the label changes to Resume Publishing The Pause Resume Publishing c
29. ck Exclusive Set Strength to 1 Set Deadline to 400 ms Click OK In Publisher create a red circle publisher with Exclusive Own ership Strength 3 Deadline 400 ms a Under Circle b In the Create New Publisher window e Select RED for Color Check Exclusive Set Strength to 3 Set Deadline to 400 ms Click OK Publish click on Transparent Horizontal hatch Vertical hatch Rotation Speed MAGENTA Extended Attributes Shape fill style Solid Transparent Horizontal hatch Vertical hatch Rotation Speed Slower Initial Size Partitions OO Apply QoS from Profile Choose the profile Defauit Default Liveliness AUTOMATIC x Lease Duration ms V Reliability Content Filter Topic Read method to use Use filter Read Take e jJ e Apply QoS from Profile Choose the profile Defauit Default y Liveliness AUTOMATIC Lease Duration ms INF Y Reliability INF Content Filter Topic Read method to use Use filter Read Take Coe Joe Faster 4 13 sejduupxa y Examples 4 14 In Subscriberl create a circle subscriber Exclusive selected Deadline 2000 ms a Under Subscribe click on Circle b In the Create New Subscriber window e Check Exclusive e Set Deadline to 2000 ms e Click OK In the subscriber canvas you should see red circles that mir ror the movement of the one in Pub
30. ctangle appear in the subscriber canvas This is the filter for the coordinates of the Circle topic The subscriber will receive position data for the Circle only when it is with the area defined by the content filter 4 To see the effect of dynamic filters use your mouse to move and resize the shaded area in Subscriberl 44 RTI Shapes Demo Domain 0 EN File View Publish Subscribe Controls Help in m o u Circle Triangle m uar Circle Triangle Delete All Pause Publishing 3 Pause Publishing Hide History Hide History Configuration Configuration y Lifespan Example The Lifespan QoS controls how long data samples are considered valid You can use it to prevent sending data that is considered too old to be valid The default setting is an infi nite duration meaning the data will never expire 1 Start two copies of Shapes Demo which we will call Publisher1 and Subscriber1 If you are reusing demo windows from a previous section delete any existing publishers and subscribers under Controls click Delete All 2 In Publisher create a circle publisher any color with History 100 Lifespan 1000 ms a Under Publish click on Circle b Set History to 100 and Lifespan to 4000 c Click OK 3 In Subscriberl create a circle subscriber with History 100 a Under Subscribe click on Circle b Set History to 100 c Click OK More Experiments
31. e data type has four data fields Color x coordinate y coordinate and size The Shape Extended type includes two more fields Shape fill pattern and rota tion speed The exercises in Extensible Types Examples Section 4 6 will walk you through use cases that uses both data types For all other exercises use the default settings includ ing the Shape data type by clicking Start When Shapes Demo starts you will see a window like that in Figure 3 1 In the Configu ration dialog that pops up simply click Start Publish and Subscribe Task Panes You can prevent the Configuration dialog from popping up by using the dataType command line option see Appendix A Running from the Command Line Figure 3 1 Shapes Demo Initial View Publish and Subscribe Task Panes Section 3 3 Other Controls Publishing Section 3 4 Hide History Configuration Name DataType Type Color Partitions Read Take QoS Settings Press Start m E i Configuration Section 3 4 4 Output and Legend Tabs Section 3 4 5 Ready on domain 0 3 3 Publish and Subscribe Task Panes Connext applications publish write and subscribe to read Publish Topics A Topic has a name and a type the type defines the 5 structure of the data Circle Shapes Demo can publish and subscribe to three Topics Square Triangle Circle and Triangle re EN Clicking any of these opt
32. e Object Management Group OMG See Connext documentation for details and limitations Using Extensible Types existing applications that are designed to publish and subscribe data with a particular data model will be able to communicate with newer applications that use an extended compatible data model without any changes or recompilation I Advanced concepts If you are interested in exploring the demo more extensively this document also briefly illustrates additional use cases such as content filtered topics reliability durability and time based filtering 1 http www omg org spec DDS XTypes uoyonpoiu L Introduction Chapter 2 Background Information 2 1 This section provides an overview of existing middleware communication paradigms including publish subscribe along with basic concepts of Connext If you are already familiar with this information you can go directly to Chapter 3 Installing and Using Shapes Demo Communication Models in Networking Middleware Software applications are becoming increasingly distributed A node in a distributed application must find the right data know where to send it and deliver it to the right place at the right time Simplifying access to this data would enable a whole new class of distributed applications The challenge especially in embedded and real time networks is to quickly find and disseminate information to many nodes Three major middleware communicati
33. e air traffic control system in terms of publishers subscribers and QoS parameters reveals that Connext is a natural fit to address this data distribution problem Each radar system can be thought of as a publisher that publishes the tracks topic which describes an airplane s positional information Each airplane that the radar sys tem is tracking can be thought of as an instance of the track topic The real time con troller displays are both subscribers that subscriber to the tracks topic and publishers that publish flight plant topic updates back to the specific airplane QoS parameters can be used to manage and control deterministic behaviors and fault tolerance capabili ties of the system Chapter 3 Installing and Using Shapes Demo 3 1 3 2 Installation L On Linux Systems The distribution is packaged in a tar gz file Unpack it as described below You do not need to be logged in as root during installation 1 Create a directory for Shapes Demo 2 Move the downloaded file into your newly created directory 3 Extract the distribution from the uncompressed files For example gt tar xvzf RTI_ShapesDemo lt version gt tar gz 1 On Windows Systems Simply double click the downloaded file to run the installer If you run the installer as Administrator and you want to install Shapes Demo for all users they will need to create their own configuration files by selecting Start Programs RTI RTI Shapes Demo lt
34. e reader s queue so you can see the shadow trail of the historical samples up to the number set in the History field Configuration Note To make changes with this dialog first click Stop Then make the desired changes and click Start The Configuration dialog is where you can change the domain ID manage QoS pro files and start stop Using the Stop and Start buttons is the equivalent of a Reset button short of quitting and restarting the application 3 13 ow q ey Buisn Installing and Using Shapes Demo The dialog also lets you choose between IO HEEENENEXKL two data types Shape and Shape EE m Extended Use Shape Extended if you Data Type want to select the shape s fill pattern or Shape 9 Shape Extended rotation speed when you create a pub lisher see Extended Attributes Section Choose the domain 3 3 4 If the Choose the profile listbox contains only Default Default this means no um M XML files have been loaded Choose the profile pefauilt Default To load an XML QoS Profiles file 1 Click Stop Any publishers subscribers will be deleted when you do this 2 Click Manage QoS 3 In the resulting dialog box click Add and then browse to select an XML QoS pro files file You can use your own file and the one provided with Shapes Demo RTI SHAPES DEMO QOS PROFILES xml is in the same directory where you installed Shapes Demo This file is already inc
35. ese scenarios with a remarkably simple and intuitive model Publish Subscribe Example Application An air traffic control system provides a more realistic example application An air traffic control system monitors and directs all flights over an entire continent The data distrib uted in such a system is in the form of aircraft tracks which provides positional infor mation e g course speed etc about an airplane Components of an air traffic control system would include radar systems airplanes and air traffic control centers that pro vide current flight status information through real time displays Managing correct distribution of data in such a system is complex Each radar system can track many different airplanes and each airplane may be tracked by more than one radar system Real time access to this information is needed for displays at air traffic control centers so that air traffic controllers can make informed decisions Air traffic controllers in the north east may only want aircraft track information in their area so only a subset of data needs to be provide to them Based on current local conditions e g air traffic weather etc air traffic controllers may issue flight plan updates back to air planes in order to rout around inclement weather and other airplanes Though airplanes do not need flight plans from all other air planes it would be useful to have information about planes in the immediate vicinity Defining th
36. est to the subscriber is sent For example assume your application is a radar monitor that draws flights detected within a 20 mile radius The application can subscribe to the track data with a content filtered topic for a 20 mile radius on the coordinates of all flights With the filter only coordinates that are within the 20 mile radius will be sent to the application 1 Start two copies of Shapes Demo which we will call Publisher1 and Subscriberl If you are reusing demo windows from a previous section delete any existing publishers and subscribers under Controls click Delete All 2 In Publisherl create a circle publisher any color a Under Publish click on Circle b In the Create New Pub lisher window click OK TUE A S from Profile Initial Size P In Subscriberl create a cir cle subscriber with a con tent filtered topic a Under Subscribe click on Circle b In the Create New Sub scriber window e Check Use filter e Click OK Partitions Extended Attributes Shape fill style Rotation Speed Choose the profile Default Default QoS Values Ownership Exdusive Durability VOLATILE Time based Filter ms 0 Reliability Content Filter Topic E Liveliness AUTOMATIC y Lease Duration ms INF History 6 Deadiine ms INF Read method to use Read TakeQ 4 19 sejduupx3 y Examples 4 7 2 4 20 Delete All o You will see a shaded re
37. for an instance within a specified period of time The Deadline QoS offers a way to do this Deadline is a contract between the publisher and the subscriber based on the data rate The publisher offers to send data at least once in its specified deadline period and the subscriber requests to receive data within its deadline period If either the subscriber or the publisher misses their deadline an event callback for deadline missed occurs At this point you should have three copies of Shapes Demo running though you will only use two of them for this example The two copies will be referred to as Publisher1 and Subscriberl Tip If you make a mistake during the following steps and need to delete a single pub lisher or subscriber select the item in the Legend tab and press the Delete key on your keyboard 1 In Publisherl create a cyan square publisher Deadline Color Key Apply QoS from Profile 200 ms 5 riens Choose the profile BLUE Default Default a Under Publish click on z QoS Values S quare Ownership Liveliness Exdusive auromaric b In the Create New Publisher EL Lese Dust ns window Durablity ay VOLATILE Select CYAN for Color Extended Attributes focnan fm e Set Deadline to 200 ms Shape fil style F Reliability INF e Click O K E pta Topic SEDE pus Rotation Speed CC a Slower Failure Detection Example 2 Create a square subscriber in Subscriberl with Deadline
38. g position data from both of the publishers and is trying to display them at the same time Details on how to handle such a situation will be discussed in the next section 6 Click Delete All in the Controls sub panel of each of the three demo windows Ownership Example As you saw in the previous example it s possible for multiple publishers to simultane ously send data to the same instance of a topic You may or may not want this behavior For certain types of data such as commands you may want to receive updates from just one publisher at a time in order to be ensure consistency Exclusive ownership is a way to ensure that only one publisher s data for a specific instance can get through to a sub scriber With multiple publishers the one with the highest ownership strength wins At this point you should have three copies of Shapes Demo running which will be referred to as Publisher1 Publisher2 and Subscriber1 Tip If you make a mistake during the following steps and need to delete a single pub lisher or subscriber select the item in the Legend tab and press the Delete key on your keyboard 1 In Publisherl create an orange Cmm triangle publisher with Exclu Color Key Initial Size Apply QoS from Profile sive ownership Strength 1 PURPLE 5 Choose the profie SUE Defeult Default a Under Publish click on UR Triangle uow b In the Create New Publisher window e Select ORANGE for Color Extended Attributes e
39. he item in the Legend tab and press the Delete key on your keyboard 1 This exercise picks up where the previous one left off So you should have two demo windows running one is publishing red circles and the other is subscrib ing to circles 2 In Subscriber1 choose Delete All from the Controls Menu 3 Create a circle subscriber with History 1 a In Subscriber1 under Subscribe click on Circle Multiple Instances Example b In the Create New Subscriber window e Change the History field from 6 to 1 e Click OK You should now see one red circle moving in each instance of Shapes Demo 4 Create a green circle publisher a In Publisher1 under Publish click on Circle b In the Create New Publisher window e Select GREEN for Color e Click OK You should now see two circles moving on each canvas one red and one green Figure 4 2 Publisher and Subscriber Displays for Multiple Instances T Name DataType Type Color Partitions Read Take Name DataType Type Color Partitions Read Take QoS Se Pub RED f Sb Cirde Shape Cirde Shape Pub GREEN Cirde Shape Read Default Output Legend Ready on domain 0 Publisher Subscriber 45 Examples Notice that we did not have to do anything in Subscriberl to start receiving the green circle s data That s because the subscriber of a topic Circle in this case gets all data sent for all instances of the topi
40. ick OK You will see the circle jump once every second instead of a fluid movement In this case the publisher is only sending data to the subscriber once a second according to the subscriber s time based filtering 4 23 sejduupx3 y Examples 4 24 Chapter 5 About RTI Thank you for taking the time to explore RTI Connext For more information please visit RTI s web site www rti com or send email to info rti com Connext solutions provide a flexible data distribution infrastructure for integrating data sources of all types At its core is the world s leading ultra high performance distrib uted networking DataBus It connects data within applications as well as across devices systems and networks It also delivers large data sets with microsecond perfor mance and granular quality of service control Connext is a standards based open archi tecture that connects devices from deeply embedded real time platforms to enterprise servers across a variety of networks Connext Integrator Information Technology IT m m erm a RTI Connext accelerates the integration of operational systems with each other and with enterprise and legacy applications 9 1 About RTI 5 2 The RTI Connext product family consists of 21 RTI Connext Integrator Integration infrastructure for connecting disparate Oper ational Technology OT systems and bridging to Information Technology IT 1 RTI Connext Messaging Un
41. ine value must be greater than or equal to the publisher s A sub scriber s deadline must also be gt its minimum separation see Time Based Filter Sec tion 3 3 6 3 Lifespan Lifespan is only available when creating a publisher The purpose of the Lifespan QoS is to avoid delivering stale data Each data sample written has an associated expiration time beyond which the data should not be delivered The middleware attaches timestamps to all data sent and received The expiration time of each sample is computed by adding the specified Lifes pan duration to the destination timestamp When you specify a finite Lifespan Connext will compare the current time with those timestamps and drop data when the specified Lifespan expires The default setting is an infinite duration meaning the data will never expire If you have multiple publishers for the same instance they should all use the same Lifespan value Valid settings range from 1 ms to 1 year or INF for infinity the default ouJegq ou Buisn Installing and Using Shapes Demo 3 3 7 3 3 8 3 4 3 4 1 3 12 Using a Content Filtered Topic The Use filter checkbox is only available when creating a subscriber If selected a filter is created for data updates to a topic based on the content of the data Only data that sat isfies the filter will be made available to the subscriber Controlling the Read Method When creating a subscriber you
42. ing to a publication subscribers are requesting current and future samples of that publication so that as new samples are published they are delivered without having to submit another request for data Publish Subscribe Complex Analogy Figure 2 1 Publish Subscribe Example Topic New York Times Topic New York Times 2 4 Sample Publisher Issue for Feb 15 Subscriber Send Receive o md Service mue The publish subscribe model is analogous to publishing magazines or newspapers The Publisher sends samples of a particular Topic to all Subscribers of that Topic With the New York TimesG the Topic would be New York Times The sample consists of the data articles and pictures sent to all Subscribers daily or weekly Connext is the distribution channel all of the planes trucks and people who distribute issues to the Subscribers In this example Quality of Service QoS parameters can be linked to delivery require ments deliver only the Sunday edition the paper must be delivered by 7 00am the paper must be in the mailbox or on the porch etc QoS parameters specify where how and when the data is to be delivered controlling not only transport level delivery prop erties but also application level concepts of fault tolerance ordering and reliability Publish Subscribe Complex Analogy Above we drew an analogy between publish subscribe and a newspaper delivery sys tem That
43. ions will open a dialog that allows you to Sie set the QoS for the publisher subscriber Circle Triangle 3 3 Installing and Using Shapes Demo 3 3 1 3 3 2 Apply QoS from Profile Choose the profile Default Default QoS Values Ownership Liveliness Extended Attributes Shape fill style 9 Solid Transparent Horizontal hatch Vertical hatch Rotation Speed Color Color is selectable only when creating a pub lisher You can use color to represent different instances of the same topic shape The Color key area is grayed out for subscrib ers The subscriber of a topic will receive all data sent on all instances of the topic Initial Size Exdusive AUTOMATIC X Lease Duration ms INF History 1 Deadline ms INF Lifespan ms INF Content Filter Topic Read method to use ReadO Take Cx e J A shape s color is used as a key sim ply a way to distinguish between data for multiple instances of the same shape topic Data that belongs to the same instance in the topic shape will have the same key color The initial size field allows you to control how big the shape is Publish and Subscribe Task Panes 3 3 3 3 3 4 Partitions You can use partitions to dynamically isolate and group publishers and subscribers If a publisher has a partition then only subscribers with that same partition will receive data from that publisher The dem
44. is of course an oversimplification Complex systems have complex data delivery requirements Connext is perhaps more like a picture in picture in picture super television system with each super TV set capable of displaying dozens or even thousands of simultaneous channels Super IV sets can optionally be broadcast sta tions each can publish hundreds of channels from locally mounted cameras to all other interested sets Any set can add new pictures by subscribing to any channel at any time Each of these sets can also be outfitted with cameras and act as a transmitting station TV sets publish many channels and may add new outgoing channels at any time Each communications channel indeed each publisher subscriber pair can agree on reliability bandwidth and history storage parameters so the pictures may update at different rates and record outgoing streams to accommodate new subscribers 2 5 uonpuoju puUNOIBADD4 Z Background Information 2 5 2 6 These super TV sets can also join or leave the network intentionally or not at any time If and when they leave or fail backup TV set transmitters will take over their picture streams so no channels ever go blank That would be quite a system It is only an analogy but we hope this gives you some idea of the enormity of the real time communications challenge It also outlines the power of publish subscribe as you will see Connext provides simple parameters to per mit all th
45. iversal messaging software backbone for both OT and IT applications I RTI Connext DDS Data centric messaging software for advanced distributed systems and applications 1 RTI Connext Tools A rich set of tools to administer monitor analyze and debug your complete system LI RTI Connext Micro Small footprint messaging software for resource constrained and or certifiable applications At the foundation of Connext is a powerful data centric messaging infrastructure that enables scalable integration across an enterprise from the data center to mobile real time and embedded systems With this data centric messaging bus applications exchange information by simply reading and writing data objects shared within a Global Data Space The middleware maintains the data space which captures a system s state Applications are automatically initialized with current data No discrete database or custom state server is required Nor do applications have to maintain their own state and depend on durable messaging to keep it consistent See the RTI Core Libraries and Utilities User s Manual for more details Under the hood data centricity extends traditional publish subscribe messaging with an in memory data management layer Applications operate on locally cached objects The middleware synchronizes caches by publishing updates and subscribing to data of interest Information is efficiently distributed across nodes based on each application s content
46. lications know where a process channel is what happens if that process channel doesn t exist etc The application must determine where to get data where to send it and when to perform the transaction In the message passing architecture there is a model of the means to transfer data but no real model of the data itself Publish subscribe adds a data model to messaging Publish subscribe nodes simply publish information they have and subscribe to data they need Messages logically pass directly between the communicating nodes The fundamental communications model implies both discovery i e what data should be sent and delivery i e when and where to send the data This design mirrors time critical information delivery systems in everyday life e g television radio magazines and newspapers Publish subscribe systems are good at distributing large quantities of time critical information quickly even in the presence of unreliable delivery mechanisms Publish subscribe architectures map well to the real time communications challenge Finding the right data is straight forward nodes just declare their interest once and the system delivers it Sending the data at the right time is also natural publishers send data when the data is available Publish subscribe can be efficient because the data flows directly from source to destination without requiring intermediate servers Multi ple sources and destinations are easily defined within the m
47. lisher2 This happens because Publisher2 s circle has a higher strength that Publisher1 s The deadline setting for the subscriber is the time at which the subscriber application will fail over to the lower strength publisher application Create new Sul Color Key Initial Size Extended Attributes Shape fill style Solid Rotation Speed In Publisher2 click on Pause Publishing After 2000 ms Subscriber1 will show a requested deadline missed message in its Output tab and at the same time fail over to display the movements of the red circle in Publisher1 Publisher2 initially had exclusive ownership of the red circle instance because it had a higher strength However this ownership was lost to the lower strength Publisher1 when the subscriber missed a deadline This is especially useful if a Apply QoS from Profile Choose the profile Default Default QoS Values Ownership Liveliness Y Exdusive AUTOMATIC x Lease Duration ms 1 INF Durability History VOLATILE X Time based Filter ms Deadline ms 0 2000 Reliability Content Filter Topic Read method to use Use filter Read TakeQ ox cancel publisher is unable to gracefully shutdown and relinquish its ownership In Publisher2 click on Resume Publishing Subscriber1 s red circle should immediately switch to tracking the movements of Publisher2 6 Close all instances of Shapes Demo Extensible Types Examples 4 6 4 6 1
48. ls Connext to load the profile called Shapes Default Profile from the RTI Shapes Lib library and use it as the default settings For more information about profiles see Section 3 3 5 Publish Subscribe Example This example showcases the publish subscribe concept It uses best effort communica tion and shows the decoupling between the publisher and the subscriber i e the pub lisher can send data without knowing where what the subscriber s are and the subscriber can receive data without knowing where what the publisher s are In this example you will be asked to start two copies of Shapes Demo There is no need to con figure a discovery service or provide any a priori information about where the demo applications are being run 4 sejduupx3 p Examples 1 Create a red circle publisher a Start Shapes Demo We will refer to this instance of the applica tion as Publisher1 b Under Publish click on Circle c In the Create New Publisher window e Select RED for Color e Click OK You will see a red circle moving on the Publisher canvas If there were any subscribers the pub lisher would start sending data the coordinates of the red circle 2 Create a subscriber for circles a Start a second Shapes Demo We will refer to this instance of the application as Subscriberl b Under Subscribe click on Cir cle c In the Create New Subscriber window e Click OK defaults Use all the
49. luded after installation For more information on the contents of this file see Section 3 3 5 If you specify multiple XML files the Up and Down buttons change the order in which they are loaded If you load files that contain profiles with is default qos true the last profile loaded is used This information is saved in your workspace see Section 3 5 To unload an XML Qos Profiles file 1 Select Configuration then Stop 2 Click Manage QoS 3 In the resulting dialog box clear the checkbox next to the file or select the file and click Remove 3 14 Other Controls If the XML QoS Profile file has Errors If you add an XML QoS Profile file that has errors and you click Ok Shapes Demo will try detect the error and will show a popup that indicates with file has been detected to be wrong Once you click OK the Load Unload QoS profile files window will automatically uncheck all the incorrectly formatted files At this point you can either press Ok and proceed without loading those files or edit them by pressing the Edit button the default XML editor will open allow ing you to correct the file and correct the error 3 4 5 Output and Legend Tabs There are two tabs at the bottom of the demo application window 1 The Legend tab shows you the publishers and subscribers created for the demo and their QoS settings Name Data Type Type Color Partitions Read Take QoS Settings Square Shape Pub BLUE
50. mple consider a system where a central command center is publishing high resolution aerial photos of a geographic area once every 30 seconds and a soldier with a handheld computer is trying to subscribe to the data In this case the handheld computer does not have the band 4 22 tory fale shapes Dero Domain E E fain stapes Demo Domain 0 awe File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Square Square Circle Circle Triangle Triangle Square D Square Circle Circle Triangle Triangle Delete All Delete All Pause Publishing Pause Publishing Hide History O Hide History Configuration v Configuration More Experiments width to handle the command center s send rate With time based filtering the hand held computer can throttle the data so that it only receives data once every 5 minutes 1 Start two copies of Shapes Demo which we will call Publisher1 and Subscriber1 If you are reusing demo windows from the previous section delete any existing publishers and subscribers under Controls click Delete All 2 In Publisherl create a circle publisher any color a Under Publish click on Circle b In the Create New Publisher window click OK 3 In Subscriberl create a circle subscriber History 1 Time Based Filter 1000 ms a Under Subscribe click on Circle b In the Create New Subscriber window e Set History to 1 e Set Time Based Filter to 1000 e Cl
51. nnext OVeEvVIeW eoe ette pe e RE CER e E ER RE EE ee e ES 2 3 DDIM Quality Of Serviee s ae tein ee eeu eda ete e t E 2 3 23 Publish Subscribe Simple Analogy sss ee eene nennen 2 4 24 Publish Subscribe Complex Analogy sess eene nennen 2 5 25 Publish Subscribe Example Application esse eee eee een 2 6 3 Installing and Using Shapes Demo 3 1 S NO IAN 3 1 38 2 Running Shapes Demo da eite de e ire ee n eene ar ree ete 3 1 3 3 Publish and Subscribe Task Panes cccccccssssssssessecesseesseecscessececseceseecsseeeaseceesecseceesecsesesaeenes 3 3 9 314 Elenaa e e oit titio te tle ue oe tn boda 3 4 9 39 2 Initial o1Z6 eR RON 3 4 3 39 39 a i duse HD o io e RI RR HDI DPA 3 5 3 3 4 Extended Attributes ite e o e ect ben tbe ive 3 5 3 355 Apply QoS trom Profile cc aiii ida eolica 3 6 3 9 6 Setting QoS Values oce eene tere tetra ae te Eee ne s 3 8 3 37 Using a Content Filtered Topic sse eene 3 12 3 3 8 Controlling the Read Method sse eee ee eene 3 12 94 Other Controlszo sa intro tette re rto tete toe rice Le Te Ht e diet 3 12 341 1 Delete All entities tue 3 12 342 JPausePublishing teer teet te tete ete eere ed nte ndr eet 3 13 SAS Show Hide EHistorys one neat ret enne eee dte 3 13 BAA Configuration ciet a Ree mg er erepta d Tero ro 3 13 9 5 Outputand Legend Tabs eee
52. o supports four partitions A B C and D Partitions support regular expres sions so a publisher with a wildcard partition will match subscribers with partitions A B C and D A publisher with no partition the default case will not be matched with a subscriber that does have a partition That is no partition is not the same thing as a wild card partition Extended Attributes This section is only enabled if you chose the Shape Extended Data Type on the Config uration dialog see Section 3 4 4 It only applies to Publishers You will see it in the dialog for Subscribers but it cannot be enabled You can choose a fill pattern and rotation speed for the shape These attributes illustrate a feature known as Extensible Types which are described in the RTI Core Libraries and Utilities Getting Started Guide Addendum for Extensible Types Extended Attributes Shape fill style O Solid Transparent Horizontal hatch Vertical hatch Rotation Speed y Slower Faster 3 5 ouJeg y Buisn Installing and Using Shapes Demo 3 3 5 Apply QoS from Profile The drop down listbox allows you to choose a QoS profile that has been pre loaded from an XML file Configuration If the listbox contains only Default Default it means you haven t specified any XML files via the Configuration dialog see Section 3 4 4 In this case Default Default will result in all default QoS settings as descri
53. oLibrary Default This profile enables monitoring See Using Monitoring Section 3 6 L MonitorDemoLibrary SamplesRejectedScenario MonitorDemoLibrary FixedSamplesRejectedScenario These profiles are used in the tutorial for RTI Monitor see Using Monitoring Section 3 6 You will find RTI SHAPES DEMO QOS PROFILES xml in the Shapes Demo installation directory or My Documents VN RTINRTI Shapes Demo version depend ing on your operating system If you open RTI SHAPES DEMO QOS PROFILES xml you can see that the profiles shipped with this demo have the property base name which points to another profile That means that the profile will use all the QoS settings of the profile pointed by base name plus the QoS settings explicitly specified If a property is specified both in the base profile and in the current profile the one in the current one is used 3 7 ouJegq eui Buisn Installing and Using Shapes Demo 3 3 6 3 3 6 1 3 3 6 2 3 8 Setting QoS Values You can control the QoS values for the publisher and subscriber in two ways 1 You can modify the QoS values in a profile and then apply that profile as described in Section 3 3 5 2 You can explicitly set some QoS QoS Values values directly in the Create as india New Publisher Subscriber dia Flee seid log as seen in this screenshot AUTOMATIC z and described below Values set y Duration ms in the dialog override values in
54. odel making redundancy and fault tolerance natural Finally the intent declaration process provides an opportu nity to specify per data stream Quality of Service QoS requirements Properly imple mented publish subscribe middleware delivers the right data to the right place at the right time In summary client server middleware is best for centralized data designs and for sys tems that are naturally service oriented such as file servers and transaction systems Client server middleware is not the best choice in systems that entail many often poorly defined data paths Message passing with send that there semantics map well to systems with clear simple dataflow needs Message passing middleware is better than client server middleware at free form data sharing but still require the application to discover where data resides Publish subscribe by providing both discovery and messaging implements a data centric information distribution system Nodes commu nicate simply by sending the data they have and asking for the data they need Connext Overview 2 2 2 2 1 Connext Overview Connext presents a publish subscribe integration model that connects anonymous infor mation producers publishers with information consumers subscribers The overall distributed application is composed of processes called participants each running in a separate address space possibly on different computers A participant may simultane ousl
55. ommand Line In some cases you may want to run Shapes Demo from the command line 1 Open a command prompt and navigate to the folder where Shapes Demo is installed 2 Enter the following command gt scripts rtishapesdemo lt command line options gt Table A 1 describes the command line options These options take precedence over con flicting settings in the configuration file if any For example if the configuration file specifies domain ID 1 and you enter domainlId 2 then domain ID 2 will be used Table A 1 Command line Options lt Shape ShapeExtended gt Option Description compact Starts Shapes Demo using a compact view configure Opens the configuration dialog at start up even if dataType is set eee Sets the default value for the type Setting this option prevents the configuration dialog from popping up when Shapes Demo starts unless configure is also used domainId lt ID gt For different copies of Shapes Demo to communicate with each other they must use the same domain ID The default domain ID is 0 if you need to use a different domain ID you must use the same value for all copies of Shapes Demo that need to communicate with each other The ID is an integer value 0 or higher help Lists the command line options eur PUDLUWUOD y Table A 1 Command line Options Option Description posX lt integer gt posY lt integer gt
56. ommands are also available when you right click an entity if it is a publisher in the Legend tab In this way you can individually pause each single publisher When publishing is paused you will still see published topics colored shapes moving in the publisher demo window but corresponding topics in a subscriber window will stop moving That s because what you see in the publisher window is the data being generated not necessarily sent what you see in the subscriber window is data being received When you pause publishing the subscriber stops receiving updates to the topic that is the shape s coordinates Show Hide History The Show History and Hide History commands tells the demo to start stop drawing the shapes from all the packets that are in the subscriber s history queue This command has no effect on subscribers that use the take method of accessing data It is only for subscribers that use read It also has no effect on publishers If you set History greater than 1 by default all the packets in the history queue are dis played showing the historical path of the shapes on the subscriber s canvas If History is 1 the default no historical samples appear because there is only room for one sam ple in the queue By default historical samples are shown that is Show History is the default setting and you will see the Hide History command in the Controls panel When you select Show History the samples stay in th
57. on paradigms have emerged to meet this need client server message passing and publish subscribe Client server is fundamentally a many to one design that works well for systems with centralized information such as databases transaction processing systems and central file servers However if multiple nodes generate information client server architectures require that all the information be sent to the server for later redistribution to the clients resulting in inefficient client to client communication The central server is a potential bottleneck and single point of failure It also adds an unknown delay and therefore indeterminism to the system because the receiving client does not know when it has a message waiting Message passing architectures work by implementing queues of messages Processes can create queues send messages and service messages that arrive This extends the 2 1 Uuonpuuoju punoiB opg Z Background Information 2 2 many to one client server design to a more distributed topology Message passing allows direct peer to peer connection it is much easier to exchange information between many nodes in the system with a simple messaging design However the mes sage passing architecture does not support a data centric model Applications have to find data indirectly by targeting specific sources e g by process ID or channel or queue name on specific nodes So this architecture doesn t address how app
58. or the same instance L The Output tab shows statuses events and other information 12 24 44 Creating domain participant on domain 0 12 24 48 lt DELETE ALL gt All the publishers and subscribers have been successfully removed 12 40 45 Creating domain participant on domain 0 12 40 47 A new generic shape has been created 12 40 47 DataWriterQoS set to use Default Profile Output Shapes Demo s Workspace Shapes Demo uses the concept of a workspace which is an XML file that contains the last settings used by Shapes Demo For example it contains the list of QoS XML profile files loaded through the Load Unload QoS profile files window and whether or not the files should be loaded Another useful piece of information saved in the workspace is the last domain ID as specified by the Configuration window This allows you to start Shapes Demo with well known settings each time If you start Shapes Demo with the domainId option that domain ID setting is not saved in the workspace If your current working directory contains a file named RTI SHAPES DEMO xml it will be used as the workspace If the file cannot be found in the current working direc tory Shapes Demo will use the one located in executable dir gt if it can be found If the file is still not found on Windows systems Shapes Demo will finally look for the file in My Documents RTI RTI Shapes Demo version You can specify a different workspace file by
59. panel of each demo window 4 11 sejduupx3 y Examples Figure 4 5 Missed Deadline 4 5 4 12 4a RTI Shapes Demo Domain 0 Help File View Publish Subscribe Controls Help Publish Square Circle Triangle Data Type Type Color Partitions Read Take QoS Set CYAN Default D 23 28 17 Requested deadline missed for Square 23 28 21 Requested deadline missed for Square Ready on domain 0 Select the Output tab in Subscriber to see the deadline missed messages Failover Example In most mission critical systems there are failover mechanisms to handle unexpected behaviors In this exercise we combine the previous two exercises to illustrate hot failover behavior where the primary publisher goes down and the subscriber immedi ately detects the loss and starts taking data from the secondary publisher At this point you should have three copies of Shapes Demo running referred to as Publisher1 Publisher2 and Subscriber1 Tip If you make a mistake during the following steps and need to delete a single pub lisher or subscriber select the item in the Legend tab and press the Delete key on your keyboard Failover Example 1 In Publisherl create a red circle publisher with Exclusive Own ership Strength 1 Deadline 400 ms a In Publisherl under Publish click on Circle b In the Create New Publisher window Select RED for Color Che
60. se filter Vertical hatch Rotation Speed Liveliness AUTOMATIC Lease Duration ms INF History Lifespan ms INF Read method to use Read Take o comas Ownership Example Figure 4 4 Different Ownership Strengths Publisherl strength 1 Publisher2 strength 3 File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Pubiis E Publish 00 Square Triangle A riangle Subscribe Subscribe Square 5 a Circle Triangle File View Publish Subscribe Controls Help Controls Publish o Delete All Ll TA Circle A Subscribe Name Data Type m Color Read Take QoS Set Triangle Shape type ce Square 5 Default D Circle Triangle Controls Delete All y Ready on domain 0 m f E Name DataType Type Color Partitions Read Take QoS Se Triangle Shape Sub e Read Default Subscriber Ready on domain 0 4 Use your mouse in Publisher2 to drag the triangle around the canvas The triangle in Subscriber1 should exactly mirror your mouse movements because Publisher2 has a higher strength than Publisher1 5 Click Delete All in the Controls sub panel of each of the three demo windows 4 9 Examples 4 4 4 10 Failure Detection Example You may want to detect when the publisher or the network is behaving abnormally and the subscriber hasn t seen updates
61. the situation where new applications are publishing data with extra information using an extended data model but there are existing applications that only need to subscribe to the original data model and in fact don t even have the logic to deal with extra attributes in the new model 1 Start a new instance of Shapes Demo which we will refer to as Publisher1 In the configuration dialog select the Shape Extended data type Keep all the other default settings and click Start In Publisher 1 publish a blue square Select the horizontal hatch fill pattern and a medium rotation speed Start a second new instance of Shapes Demo which we will refer to as Subscriber1 In the configuration dialog keep all the default settings including the Shape data type and click Start In Subscriber1 subscribe to squares In Publisher 1 you should see a square with the selected pattern rotating at the selected speed In Subscriber 1 you should see a blue square that does not have the pattern and is not rotating 48 RTI Shapes O im A Y em x 4 RTI Shapes Demo Domain 0 Ce o o X File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Publish Publish Square Square Circle Circle Triangle Triangle Subscribe Subscribe Square Square 3 Circle Circle Triangle Triangle Controls Controls Delete
62. un from the command line l Appendix B contains a few troubleshooting hints Goals of the Demonstration 1 2 Goals of the Demonstration There is no teacher like experience Playing with this demonstration will give you a first hand introduction to key Connext concepts These include 1 Anonymous publish subscribe Applications communicating over publish subscribe networks do not need to know the source or destination of the data This loosely coupled design simpli fies or eliminates configuration eases fault tolerance and boosts performance Dynamic discovery With publish subscribe applications simply ask for the information they need and provide the information they have The middleware does the hard task of finding the information and delivering it where it needs to go There is no or minimal configuration each node can simply join or leave the network at any time Failover Connext supports the concept of ownership a publisher can own the responsi bility for providing data to the network Ownership makes failover simple if the owner fails a backup owner can instantly take over responsibility Failure notification Connext is designed for the real world In the case of failure e g the violation of a deadline or the termination of service interested applications are immediately notified Extensible Types Connext supports the Extensible and Dynamic Topic Types for DDS specifica tion from th
63. uration dialog select the Shape extended data type We ll refer to this as Subscriberl In Subscriber1 subscribe to squares You should see that Subscriber is receiving both types of squares as seen below Publishing Shape Publishing Shape Extended IRTI Shapes DANS bomen O A MEI RTI Sha Demo Domain 0 aj File View Publish Subscribe Controls Help File View Publish Subscribe Controls Help Square L r Circle Circle Triangle Triangle Square 3 Square 4 S Circle Circle Triangle Controls File View Publish Subscribe Controls Help Pause Publishing Publish Pause Publishin A Hide History Square Configuration Circle Triangle Name DataType Type Color Pa Read Take QoS Se se see nr i ONENEENEEN mas Square Circle Triangle 1 Output Legend me Ready on domain 0 n fishin Subscribing to Pause Publishing ide t Squares 4 18 Configuration More Experiments 4 7 4 7 1 More Experiments Please feel free to experiment and run tests using the other QoS options in the Create New Subscriber and Create New Publisher windows Described below are a few other interesting behaviors to test Content Filtered Topics Example A content filtered topic is a very useful feature if you want to filter data received by the Subscriber It also helps to control network and CPU usage on the subscriber side because only data that is of inter
64. version gt Create Configuration File Running Shapes Demo You can run Shapes Demo on a single computer or on multiple workstations connected via Ethernet Both Windows and Linux operating systems are supported You can start multiple copies of the demo on as many computers as you would like By default the demo discovers other demo applications using multicast loopback or shared memory The discovery mechanism is fully configurable 3 1 ouJegq ey Buisn Installing and Using Shapes Demo 3 2 Note Shapes Demo is not compatible with applications built with RTI Data Distribution Service 4 5e and earlier releases when communicating over shared memory For more information please see the Transport Compatibility section in the RTI Core Libraries and Utilities Release Notes I On Linux systems Enter the following command gt lt install directory gt scripts rtishapesdemo For details on running from the command line see Appendix A Running from the Command Line I On Windows systems If you have RTI Launcher you can use it to start Shapes Demo Or from the Win dows Start menu navigate to RTI Connext lt version gt RTI Connext Messaging lt version gt Components RTI Shapes Demo lt version gt and select RTI Shapes Demo When Shapes Demo starts by default the configuration dialog see Figure 3 1 will be dis played The DataType options are added to demonstrate the concept of Extensible Types The Shap
65. viously sent data 1 Start two copies of Shapes Demo which we will call Publisher1 and Subscriber1 If you are reusing demo windows from a previous section delete any existing publishers and subscribers under Controls click Delete All 2 In Publisher 1 create a circle publisher any color with Transient Local Durabil ity Reliability and History 200 a Under Publish click on Circle b In the Create New Publisher window e Use the drop down list box to change Durability to Transient Local 4 21 s jdwpx y Examples e Set History to 200 e Click OK 3 Wait for a bit In Subscriberl create a circle subscriber with Transient Local Durability Reli ability and History 200 a Under Subscribe click on Circle b In the Create New Subscriber window e Use the drop down list box to change Durability to Transient Local Check Reliability e Set History to 200 Click OK Watch the Subscriber canvas You will see a shadow of objects printed out in a continuous pattern The shadow results from the subscriber showing the last 200 samples from the publisher s history queue To stop showing the shadow trail of samples in Subscriber1 click on Hide His 4 7 4 Time based Filtering Example Sometimes subscribers are located on slower or more remote systems that cannot han dle the amount of data that the publisher is capable of sending For exa
66. y publish and subscribe to typed data streams identified by names called Topics The Application Programming Interface API offered by Connext complies with the Object Management Group OMG Data Distribution Service DDS standard It is the first comprehensive specification available for publish subscribe data centric designs Connext defines a communications relationship between publishers and subscribers The communications are decoupled in space nodes can be anywhere time delivery may be immediately after publication or later and flow delivery may be reliably made at controlled bandwidth To increase scalability topics may contain multiple indepen dent data channels identified by keys This allows nodes to subscribe to many possi bly thousands of similar data streams with a single subscription When the data arrives the middleware can sort it by the key and deliver it for efficient processing Connext is fundamentally designed to work over unreliable transports such as UDP or wireless networks No facilities require central servers or special nodes Efficient direct peer to peer communications or even multicasting can implement every part of the model Quality of Service Fine control over Quality of Service QoS is perhaps the most important feature of Con next Each publisher subscriber pair can establish independent QoS agreements Thus Connext designs can support extremely complex flexible data flow requirements

Download Pdf Manuals

image

Related Search

Related Contents

Changes in FRANX Version 4_1  Samsung ST64 manual do usuário  Estación Meteorológica Profesional WS-2800-IT  Guida dell`utente  Senteo - SMART Technologies  Tripp Lite PDUNV User's Manual    Samsung GT-I9295 User Manual(Kitkat)  BEDIENUNGSANLEITUNG  Bedienungsanleitung  

Copyright © All rights reserved.
Failed to retrieve file