Home
RTI Federation Service - Community RTI Connext Users
Contents
1. See Section 2 4 4 RTI_FederationService_ lt Host Optional E Rr cre rc eo Name gt _ lt Process ID gt such as entity mMoRItOrIne RTI_FederationService_myhost_20024 See Section 2 4 4 Table 2 2 describes the tags allowed within a lt federation_service gt 5 lt domain_route gt tag Required See Section 2 4 2 Table 2 2 Federation Service Tags uas Number Tags within Description of Tags lt federation_service gt Allowed Contains a lt documentation gt tag that can be used to provide a Lamotations federation service description This description will show up Oor1 when you run Federation Service without the cfgName com mand line option lt domain_route gt Defines a mapping between two domains See Section 2 4 2 a Enables and configures remote administration See Administra lt administration gt tion Section 2 4 3 and Chapter 4 Administering Federation Ser 0 or 1 vice from a Remote Location Enables and configures general remote monitoring General monitoring settings are applicable to all the Federation Service lt monitoring gt entities unless they are explicitly overridden Oorl See Monitoring Section 2 4 4 and Chapter 5 Monitoring Feder ation Service from a Remote Location Enables and configures remote monitoring for the Oorl federation_service entity lt entity_monitoring gt 2 8 XML Tags for Configuring Federation Service 2 4 2 Domain Rou
2. lt qos_library gt Specifies a QoS library and profiles The contents of this tag are specified in the same manner Oor mor as for a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual lt types gt Defines the types to be used by the federation service See Defining Types in the Configuration File Section Oor 1 2 4 6 2 For example lt dds gt lt federation_service name Bridgel group_name Group1 gt lt federation_service gt lt federation_service name Bridge2 group_name Group1 gt lt federation_service gt lt dds gt Starting Federation Service with the following command will use the lt federation_service gt tag with the name Bridge1 rtifederationservice cfgFile example xml cfgName Bridgel Because a configuration file may contain multiple lt federation_service gt tags one file can be used to configure multiple Federation Service executions 2 7 uolOINByUuoD Z Configuring Federation Service A federation service belongs to a group of one or more federation services identified by a common group_name Federation services in the same group will not communicate with each other cadmunietration gt See Section 2 4 3 lt federation_service gt If the lt federation_service gt tag does not have a group_name attribute Fed A lt monitoring gt eration Service will use the name 8
3. Statistic variable that provides information about the output samples per second across topic routes Output samples refer to the samples that are published out by the session threads using the topic route s DataWriters 5 19 UOIJIDD07 eJowWeY D WO BUNOPUON S Monitoring Federation Service from a Remote Location Table 5 7 DomainRouteStatusSet Field Name Key Description output_bytes_per_s Statistic variable that provides information about the output bytes per second across topic routes Output bytes refer to the bytes that are published out by the ses sion threads using the topic route s DataWriters The variable only considers the bytes of the serialized samples Protocol headers UDP RTPS are not included latency_s Statistic variable that provides information about the latency in seconds across topic routes The latency in a topic route refers to the time elapsed between the sample read and write 1 The throughput measured in bytes can only be computed if the samples are DynamicData samples If not only the throughput measured in samples per second is available This statement applies to all the statistic variables described in this chapter that measure throughput in bytes per second 5 3 4 Status Information for a Session The topic that publishes session status is called rti federation_service monitoring session_status_set The session status aggregates t
4. cmdRequest gt id host host ID cmdRequest gt id app process ID cmdRequest gt id invocation invocationCounter Send this command to a federation service called MyRouter strcpy cmdRequest gt target_router MyRouter The command type is update Accessing Federation Service from Connext Applications zai EDERATION_SERVICE_COMMAND_UPDAT cmdRequest gt command _d RTI_F Specify entity name to update and the XML code to define the new configuration strcpy cmdRequest gt command _u entity_desc name DomainRoutel Sessionl TopicRoutel When we use an XML snippet the first tag we specify is that of the entity lt topic_route gt in this case strcpy cmdRequest gt command _u entity_desc xml_url content str lt topic_route gt lt input gt lt datareader_qos gt lt deadline gt lt period gt lt sec gt 10 lt sec gt lt period gt lt deadline gt lt datareader_qos gt lt input gt lt topic_route gt The content above is small enough to send it in one sample Otherwise if the length were gt XML_URL_MAX LENGTH we would have to split it in multiple partial strings each lt XML_URL_MAX LENGTH and set final 0 for all the samples but the last one cmdRequest gt command _u entity_desc xml_url final 1 RTI_FederationService_CommandRequest_writer gt write cmdRequest ep ke 4 11 uoyoystutupy jow y
5. string lt ENTI1 StatisticVariable StatisticVariable StatisticVariable StatisticVariable StatisticVariable ia rY_NAM E MAX LENGTH gt federation_service_name key E MAX LENGTH gt domain_route_name key E MAX LENGTH gt session_name key E MAX LENGTH gt name key input_samples_per_s input_bytes_per_s output_samples_per_s output_bytes_per_s latency_s Table 5 9 describes the fields in the RouteStatusSet data type Table 5 9 RouteStatusSet 5 22 Member Name Key Description federation_service_name VY The federation service name assigned with appName domain_route_name Y The domain route name session_name Y The session name vy The topic route name name The topic route name is configured using the name attribute in the lt topic_route gt tag input_samples_per_s Statistic variable that provides information about the input sam ples per second in the topic route Input samples refer to the samples that are taken by the session from the topic route s DataReader input_bytes_per_s Statistic variable that provides information about the input bytes per second in the topic route Input bytes refer to the bytes that are taken by the session from the topic route s DataReader These bytes only refer to the serialized samples The protocol headers UDP RTPS are not included output_samples_per_s Statisti
6. lt publisher_qos gt Configures the Publisher QoS for remote monitoring If the tag is not defined Federation Service will use the Connext defaults Oorl lt datawriter_qos gt Configures the DataWriter QoS for remote monitoring If the tag is not defined Federation Service will use the Connext defaults with the following change durability kind DDS_TRANSIENT_LOCAL_DURABILITY_QOS Oorl XML Tags for Configuring Federation Service Table 2 6 Monitoring tags Tags within lt monitoring gt Description Number of Tags Allowed lt status_publication_period gt Specifies the frequency at which the status of an entity is published For example lt status_publication_period gt lt sec gt 3 lt sec gt lt nanosec gt 0 lt nanosec gt lt status_publication_period gt If the tag is not defined the period is 5 seconds The status publication period defined in lt federation_service gt is inherited by all the entities inside lt federation_service gt An entity can overwrite the period Oorl lt statistics_sampling_period gt Specifies the frequency at which status statistics are gathered Statistical variables such as latency are part of the entity status For example lt statistics_sampling_period gt lt sec gt 1 lt sec gt lt nanosec gt 0 lt nanosec gt lt statistics_sampling_period gt The statistics period for a given entity should be sm
7. 7 Administering Federation Service from a Remote Location Chapter 5 Monitoring Federation Service from a Remote Location You can monitor Federation Service remotely by subscribing to special topics By sub scribing to these topics any Connext application can receive information about the con figuration and operational status of Federation Service Being able to monitor the state of a Federation Service instance is an important tool that allows you to detect problems For example looking at the input samples per second in the different sessions you might see that one session is receiving most of the traffic In that case you could reassign some of the routes to other sessions to improve load bal ancing Federation Service can publish status for the following kinds of entities 1 Federation Servicee itself lt federation_service gt 2 Domain Route lt domain_route gt 3 Session lt session gt 4 Topic Route lt topic_route gt Auto Topic Route lt auto_topic_route gt For each of the above kinds of entities Federation Service creates two topics I rti federation_service monitoring lt tag gt _data describes the entity s configura tion I rti federation_service monitoring lt tag gt _status_set describes the entity s operational status With the corresponding types L RTI FederationService Monitoring lt tag gt Data I RTI FederationService Monitoring lt tag gt StatusSet 5 1 UOlID907 jow y D
8. The second parameter domain_route session topic_route auto_route is the kind of entity to be created If the kind is a domain_route there will be no parent For the other kinds session topic_route or auto_route a lt parent_entity_name gt must be specified lt xml_url gt and remote local are the same as used in update Section 4 2 11 except that only XML snippets matching the entity kind are allowed A full file starting with lt dds gt is not valid Remote Commands 4 2 3 4 2 4 For example this would be entered as a single command with no line breaks create example topic_route DomainRoute Session str lt topic_route name TrianglesToTriangles gt lt input participant 1 gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Triangle lt topic_name gt lt input gt lt output gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Triangle lt topic_name gt lt output gt lt topic_route gt delete delete lt target_federation_service gt lt entity_name gt You can invoke the delete command on domain routes topic routes and auto topic routes It acts like the disable Section 4 2 4 command but also purges the configuration data for the target entity For example delete example DomainRoute Session CirclesToCircles A deleted entity cannot be re enabled but a new one can be created disable disable
9. I 0x10 period logging verbosity_ LJ 0x80 other used for control protocol tracing bitmap Default 1 Note the logging verbosity is a global property shared across multiple instances of the TCP transport If you create a new TCP Transport instance with logging_verbosity_bitmap different than 1 the change will affect all the other instances as well The default TCP transport verbosity is errors and warnings Note The option of 0x80 other is used only for tracing the internal control protocol Since the output is very verbose this feature is enabled only in the debug version of the TCP Transport library libnddstransporttcpd so LIBNDDSTRANSPORTD LIB Maximum number of outstanding connection cookies allowed by the transport when acting as server A connection cookie is a token provided by a server to a client it is used to establish a data connection Until the data connection is established the cookie cannot be reused by the server outstanding _ connection_cookies To avoid wasting memory it is good practice to set a cap on the maximum number of connection cookies pending connections When the maximum value is reached a client will not be able to connect to the server until new cookies become available Range 1 or higher or 1 which means an unlimited number Default 100 Configuring the TCP Transport Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t
10. Table 5 4 RouteData Field Name Key Description input topic_name Input topic name The input topic name is configured using the tag lt topic_name gt inside lt topic_route gt lt input gt input registered_type_ name Input registered name The input registered name is configured lt registered_type_name gt inside lt topic_route gt lt input gt using the tag output topic_name Output topic name The output topic name is configured using the tag lt topic_name gt inside lt topic_route gt lt output gt name output registered_type_ Output registered name The output registered name is configured using the tag lt registered_type_name gt inside lt topic_route gt lt output gt input creation_mode Indicates when the DataReader is created in the input The input creation mode is configured using the tag lt creation_mode gt output creation_mode Indicates when the DataWriter in created in the output The output creation mode is configured using the tag lt creation_mode gt input dds_data Contains the configuration of the topic route s input output dds_data Contains the configuration of the topic route s output input dds_ data domain_id Domain ID of the input participant output dds_ data domain_id Domain ID of the output participant input dds_ data datareader_key Unique identifier for the DataReader The value of t
11. lt output gt lt creation_mode gt ON_DOMAIN_AND_ ROUTE_MATCH lt creation_mode gt lt output gt lt topic_route gt Example 3 In this example all the data is received by the topic route s DataReader because it is cre ated as soon as a user DataWriter is discovered on the first domain However the data is not resent until a user DataReader on the other domain subscribes to it lt topic_route gt lt input participant 1 gt lt creation_mode gt ON_DOMAIN MATCH lt creation_mode gt lt input gt lt output gt 2 3 uolOINByuoD zZ Configuring Federation Service lt creation_mode gt ON_DOMAIN_AND_ ROUTE_MATCH lt creation_mode gt lt output gt lt topic_route gt 2 4 7 Auto Topic Routes The tag lt auto_topic_route gt defines a set of potential topic routes with the same input and output type and the same input and output topic A topic route can eventually be instantiated when the type and topic of a discovered entity match the filters in the auto topic route When this happens a topic route is created but not necessarily started see Section 2 4 6 4 with the configuration defined in the auto topic route For example lt dds gt efederation service cane routes zsessi gt auto topic route name AutoRoutel gt lt input participant 1 gt lt allow_topic_name_filter gt lt allow_topic_name_filter gt lt allow_registered_type_name_filter gt ShapeType lt allow_re
12. defaults Oorl lt publisher_qos gt Configures the Publisher QoS for remote administration If the tag is not defined Federation Service will use the Connext defaults Oorl lt subscriber_qos gt Configures the Subscriber QoS for remote administration If the tag is not defined Federation Service will use the Connext defaults Oorl lt datareader_qos gt Configures the DataReader QoS for remote administration If the tag is not defined Federation Service will use the Connext defaults with the following changes reliability kind DDS_RELIABLE_RELIABILITY_QOS this value cannot be changed history kind DDS_KEEP_ALL_HISTORY_QOS resource_limits max_samples 32 Oorl lt datawriter_qos gt Configures the DataWriter QoS for remote administration If the tag is not defined Federation Service will use the Connext defaults with the following changes history kind DDS_KEEP_ALL_HISTORY_QOS resource_limits max_samples 32 Oorl lt save_path gt Specifies the file that will contain the saved configuration It is empty by default A lt save_path gt must be specified if you want to use the save Section 5 2 9 command If the file specified by lt save_path gt already exists the file will be overwritten when save is executed This value is mutable when an update Section 5 2 11 command tar gets a federation service This value is sent as part of the monitoring conf
13. the mean of the standard deviation and the total count Monitoring Status The IDL definition of the data type is struct DomainRouteStatusSet string lt ENTITY_NAME MAX LENGTH gt federation_service_name key string lt ENTITY_NAME MAX LENGTH gt name key StatisticVariable StatisticVariable StatisticVariable StatisticVariable StatisticVariable K input_samples_per_s input_bytes_per_s output_samples_per_s output_bytes_per_s latency_s Table 5 7 describes the fields in the DomainRouteStatusSet data type Table 5 7 DomainRouteStatusSet Field Name Key Description federation_service_name The federation service name assigned with appName name The domain route name The domain route name is configured using the name attribute in the lt domain_route gt tag input_samples_per_s Statistic variable that provides information about the input sam ples per second across topic routes Input samples refer to the samples that are taken by the sessions from the topic routes s DataReaders input_bytes_per_s Statistic variable that provides information about the input bytes per second across topic routes Input bytes refer to the bytes that are taken by the sessions from the topic routes s DataReaders These bytes only refer to the serialized samples The protocol headers UDP RTPS are not included output_samples_per_s
14. 2 11 The remote local parameter is used with file URLs to indicate if the file is local to the shell local or local to the federation service remote If the file is local to the shell local the shell application will read it and will send it as a string URL If the file is local to the federation service remote the shell will send it as a file URL that will be read by the federation service The default value is remote If a relative path is specified the path will be relative to the working directory in which the federation service if remote is specified or shell if local is specified is running add_peer add_peer lt target_federation_service gt lt domain_route_name gt pl1 p2 lt peer_list gt The add_peer command passes the peer_list to the underlying DomainParticipant s add_peer function It is only valid for participants in a domain route lt domain_route_name gt is like lt entity_name gt but must be a domain route entity p1lp2 specifies if the DomainParticipant associated with lt participant_1 gt or lt participant_2 gt configuration is selected lt peer_list gt is a comma separated list of peers create create lt target_federation_service gt domain_route session topic_route auto_route lt parent_entity_name gt lt xml_url gt remote local The create command is similar to update Section 4 2 11 but the configuration is applied to a newly created entity instead of an existing one
15. configuration is modified using the remote command update see Section 5 2 11 Monitoring Configuration Data 5 2 1 I The entity s configuration is modified due to certain events in Federation Service For example discovery events may trigger the creation of DataWriters and DataReaders in a route The following sections describe the data available for each kind of Federation Service entity L Configuration Data for the Federation Service Section 5 2 1 L Configuration Data for a Domain Route Section 5 2 2 l Configuration Data for a Session Section 5 2 3 1 Configuration Data for a Topic Route Section 5 2 4 L Configuration Data for an Auto Topic Route Section 5 2 5 Each section describes the IDL for the topics underlying data types The IDL is also in the file lt Federation Service installation directory gt resource idl FederationService Monitoring idl Configuration Data for the Federation Service The topic that publishes configuration data is called rti federation_service monitoring federation_service_data This topic describes the configuration of the federation service but not its contained entities The IDL definition of the data type is struct FederationServiceAdministrationData string lt EXPRESSION_MAX LENGTH gt save_path boolean autosave_on_update Fy struct FederationServiceData string lt ENTITY_NAME MAX LENGTH gt name key string lt ENTITY_NAME MAX LENGTH gt group_
16. describe the format of the XML con tent We recommend including a reference to one of these documents in the XML file that contains the routine service s configuration this provides helpful features in code 1 Leading and trailing spaces in enumeration fields will not be considered valid if you use the distributed XSD document to do validation at run time with a code editor 2 4 XML Syntax and Validation editors such as Visual Studio and Eclipse including validation and auto completion while you are editing the XML file The DTD and XSD definitions of the XML elements are in lt Federation Service installation directory gt resource schema rti_federation_service dtd and lt Federation Service installa tion directory gt resource schema rti_federation_service xsd respectively To include a reference to the XSD document in your XML file use the attribute xsi znoN amespaceSchemaLocation in the lt dds gt tag For example lt xml version 1 0 encoding UTF 8 gt lt dds xmlns xsi http www w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation lt installation directory for Federation Service gt resource schema rti_federation_service xsd gt lt dds gt To include a reference to the DTD document in your XML file use the lt DOCTYPE gt tag For example lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE dds SYSTEM lt installation directory for Federation Service gt resource schema rti_
17. float minimum float maximum float std_dev Fi struct StatisticVariable StatisticMetric publication_period_metrics sequence lt StatisticMetrics MAX HISTORICAL_METRICS gt historical_metrics F The count is the sum of all the values received during the time frame For example in the case of input_sample_per_s and output_sample_p_s count is the number of sam ples received during the time frame For latency count is the sum of all the latency times for the samples received during the time frame Monitoring Status 3 1 2 5 3 2 If status publication is enabled see Section 2 4 4 Federation Service always publishes the statistics corresponding to the time between two status publications publication_period_metrics You can also select additional windows on a per entity basis using the tag lt historical_statistics gt see Section 2 4 4 The sequence historical_metrics in StatisticVariable contains values corresponding to the windows that have been enabled l 5 sec metrics correspond to activity in the last five seconds L 1 min metrics correspond to activity in the last minute I 5 min metrics correspond to activity in the last five minutes J 1 hour metrics correspond to activity in the last hour l Up time metrics correspond to activity since the entity was enabled Each window has a field called period_ms that identifies its size in milliseconds For the publication_period_metrics this field contains the
18. for the remote configuration timeout lt seconds gt Max time to wait a remote response cmdFile lt file gt Run commands in this file help Displays this information Enabling Remote Administration By default remote administration is disabled in Federation Service for security reasons To enable remote administration you can use the lt administration gt tag see Section 2 4 3 or the remoteAdministrationDomainId lt ID gt command line parameter which enables remote administration and sets the domain ID for remote communica tion For more information about the command line options see Section 3 1 in the Get ting Started Guide 4 1 UOHDISIUIWUpPY jow y 7 Administering Federation Service from a Remote Location 4 2 When remote administration is enabled Federation Service will create a DomainPartici pant Publisher Subscriber DataWriter and DataReader in the designated domain The QoS values for these entities are described in Section 2 4 3 Remote Commands This section describes the remote commands using the shell interface Section 4 3 explains how to use remote administration from a Connext application Remote commands e add_peer lt target_federation_service gt lt domain_route_name gt p1 p2 lt peer_list gt e create lt target_federation_service gt domain_route session topic_route auto_route lt parent_entity_name gt lt xml_url gt remote local e delete lt target_f
19. have a public_address set and its server_bind_port is set to zero meaning that it cannot be reached from the outside network 6 5 SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks 6 2 6 6 Secure Communication Security can be added on top of any of the above scenarios You can have secure com munication within the same LAN or across NATs To enable secure communication modify the previous configurations as follows L Change the transport class ID property parent classid to be one of the follow ing values NDDS_TRANSPORT_CLASSID_TLSV4_LAN NDDS_TRANSPORT_CLASSID_TLSV4_WAN Ll Set at least a certificate of authority through either the tls verify ca_file or tls verify ca_path properties and the certificate identity through either the tls identity certificate_chain or tls identity certificate_chain_file properties L Make sure to use tlsv4_lan or tlsv4_wan in the initial peers list as the prefix for all destination addresses To see the differences between a WAN scenario and the same scenario with TLS enabled you can compare the two example configuration files I shapes tcp_transport xml I shapes tcp_transport_tls xml Configuring the TCP Transport The TCP transport is distributed as a shared library in lt Federation Service installation directory gt bin lt architecture gt The library is called nddstransporttcp dll on Windows and libnddstransporttcp so on UNIX based syst
20. lt target_federation_service gt lt entity_name gt The disable command disables a federation service entity by destroying its sub entities and corresponding Connext objects J Federation service When a federation service is disabled all of its domain routes are destroyed You do not need to specify the entity_name to disable a fed eration service L Domain route When a domain route is disabled all its topic routes and auto topic routes are destroyed as well as both DomainParticipants All the session threads are stopped and their corresponding Publishers and Subscribers are also deleted I Route topic route and auto topic route When a topic route or auto topic route is disabled its DataReaders and DataWriters are destroyed so data will no lon ger be routed 4 5 UOHDISIUIWUpPY jow y 7 Administering Federation Service from a Remote Location 4 2 5 4 2 6 4 2 7 4 6 enable enable lt target_federation_service gt lt entity_name gt The enable command enables an entity that has been disabled or marked as enabled false in the configuration file This command can be used to enable the following entities LJ Federation service When a federation service is enabled it uses the currently loaded configuration and starts You don t need to specify the entity_name to enable a federation service J Domain route When a domain route is enabled it creates the DomainPartici pants topic rout
21. lt value gt 7400 lt value gt lt element gt lt value gt lt property gt lt participant_qos gt lt participant_2 gt lt domain_route gt lt federation_service gt lt dds gt 6 2 3 TCP TLS Transport Properties Table 6 1 describes the TCP and TLS transport properties Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 Description tcp1 Required Comma separated strings indicating the prefix names of all plugins that will be loaded by Connext For example dds transport TCPv4 tcp1 You will use this string as the ar as ides HOE taka prefix to the property names See Footnote 1 on page 6 20 dds transport load_plugins Note you can load up to 8 plugins SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name preiex wiih Description dds transport TCPv4 tep1 Required Must be nddstransporttcp library This library needs to be in the path during run time in the LD_LIBRARY_PATH envi ronment variable on UNIX systems in PATH for Windows systems create_function Required Must be NDDS_Transport_TCPv4_create aliases Used to register the transport plugin returned by NDDS_Transport_TCPv4_create as specified by lt TCP_prefix gt cre
22. publication period For the up time metrics this field contains the time since the entity was enabled For the other windows this field contains a fixed value that identifies the window size 5000 for the 5 second window 60000 for the one minute window etc Statistics Calculation The accuracy of the statistics calculation process is determined by the value of the statis tics sampling period This period specifies how often statistics are gathered and is con figured on a per entity basis using the tag lt statistics_sampling_ period gt see Section 2 4 4 As a general rule the statistics_sampling_period of an entity must be smaller than its status_publication_period A small statistics_sampling period provides more accu rate statistics at expense of increasing the memory consumption and decreasing perfor mance Status Information for the Federation Service The topic that publishes federation service status is called rti federation_service moni toring federation_service_status _set The IDL definition of the data type is struct FederationServiceStatusSet string lt ENTITY_NAME MAX LENGTH gt name key StatisticVariable cpu_usage_percentage 5 17 UOIND07 ejowey D WO BUNOPUOWN S Monitoring Federation Service from a Remote Location Table 5 6 5 3 3 StatisticVariable physical_memory_kb StatisticVariable total_memory_kb Fy Table 5 6 describes the fields in the FederationServ
23. publication with original writer info is configured using the tag lt publish_with_original_info gt inside lt topic_route gt Indicates if the topic route is configured to publish the output samples with the same timestamp as that of the input sample route_types Indicates if the input participant will use types discovered in the output participant and vice versa for the creation of DataWriters and DataReaders The route types flag is configured using the tag lt route_types gt inside lt route gt or lt topic_route gt input state Indicates whether or not the DataReader associated with a topic route is created output state Indicates whether or not the DataWriter associated with a topic route is cre ated The correlation between a topic route and its DataReader and DataWriter can be done using the fields datareader_key and datawriter_key For example let s assume that we want to retrieve the value of the DurabilityQosPolicy associated with the route s DataWriter To do that we would subscribe to the publica tion builtin topic and we would look for a sample where the key member is equal to datawriter_key From this sample we can get the DurabilityQosPolicy value accessing the member durability For additional information on how to subscribe to the builtin topics see the RTI Core Libraries and Utilities User s Manual Monitoring Configuration Data 5 2 5 Route data samples are pu
24. set to true after allocating dynamic memory for very large samples that memory will be released when possible If false that memory will not be released but kept for future samples if needed The default is false This feature is useful when a data type has a very high maximum size e g megabytes but most of the samples sent are much smaller than the maximum possible size e g kilobytes In this case the memory footprint is reduced dramatically while still correctly handling the rare cases in which very large samples are published Oorl 2 1 uolOINByuoD zZ Configuring Federation Service Table 2 4 Participant Tags lt participant_qos base_name MyLibrary MyProfile gt lt resource_limits gt lt contentfilter_property_max_length gt 64 lt contentfilter_property_max_length gt lt resource_limits gt lt participant_qos gt This applies to all QoS tags lt publisher_qos gt lt subscriber_qos gt in sessions lt datareader_qos gt lt datawriter_qos gt in topic routes and auto topic routes Tags within Number lt participant_1 Description of Tags 2 gt Allowed Registers a type name and associates it with a type code lt registered_type gt When you define a type in the configuration file with the lt types gt 0 or more tag you have to register the type in order to use it in topic routes See Topic Route Types Section 2 4 6 1 Sets the participant QoS The co
25. statistics period for a given entity should be smaller than the publication period If the tag is not defined the period is inherited from the gen eral monitoring settings This tag is only present in the lt entity_monitoring gt tag of lt topic_route gt lt auto_topic_route gt and lt federation_service gt rr Number Tags within Sh lt entity_monitoring gt een PEOI of Tags 2 Allowed Specifies the frequency at which status statistics are gath ered Statistical variables such as latency are part of the entity status For example lt statistics_sampling_period gt lt sec gt 1 lt sec gt lt nanosec gt 0 lt nanosec gt lt statistics_sampling_period gt lt statistics_sampling_period gt Oorl 2 20 XML Tags for Configuring Federation Service Table 2 7 Entity Monitoring Tags Tags within lt entity_monitoring gt Description Number of Tags Allowed lt historical_statistics gt Enables or disables the publication of statistics calculated within fixed time windows By default Federation Service only publishes the statistics cor responding to the window between two status publications By using this tag you can get the following additional win dows LJ 5 seconds J 1 minute LJ 5 minutes J 1 hour Up time since the entity was enabled For example lt historical_statistics gt lt five_second gt true lt five_second gt lt one_minute gt true lt one_minute gt lt
26. systems running within a single LAN However the usage of UDPv4 introduces several problems when we try to communicate Connext applications run ning in different LANs L UDPv4 traffic is usually filtered out by the LAN firewalls for security reasons L Forwarded ports are usually TCP ports L Each LAN may run in its own private IP address space and use NAT Network Address Translation to communicate with other networks To overcome these three issues Federation Service is distributed with a TCP transport that is NAT friendly The transport can be configured via XML using the PropertyQo sPolicy of the Federation Service s participants Figure 6 1 shows a typical scenario where two Federation Services are used to bridge two Connext applications running in two dif ferent LANs In the next sections we will explain how to use and configure the TCP transport with Federation Service 6 1 SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks Figure 6 1 WAN Communication Using TCP Transport Connext application 2 LAN2 Connext application 1 LAN1 Participant1 Participant 2 UDPv4 TCPv4 Transport Transport Firewall NAT Firewall NAT Router Cy Pe gt d Router ipant1 Participant 2 TCPv4 UDPv4 Transport Transport TCP traffic only 6 1 TCP Communication Scenarios The TCP transport distributed with Federation Service can be used to address multiple communication
27. the inter faces that should not be used Default No interfaces are denied send_socket_buffer_size Size in bytes of the send buffer of a socket used for sending On most operating sys tems setsockopt will be called to set the SENDBUF to the value of this parameter This value must be greater than or equal to parent message_size_max or 1 The maximum value is operating system dependent Default 1 setsockopt or equivalent will not be called to size the send buffer of the socket SOMJON Dely PIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description Size in bytes of the receive buffer of a socket used for receiving recv_socket_buffer_size On most operating systems setsockopt will be called to set the RECVBUF to the value of this parameter This value must be greater than or equal to parent message_size_max or 1 The maximum value is operating system dependent Default 1 setsockopt or equivalent will not be called to size the receive buffer of the socket ignore_loopback_ interface Prevents the transport plugin from using the IP loopback interface This property is ignored when parent classid is NDDS_TRANSPORT_CLASSID_TCPV4_WAN or NDDS_TRANSPORT_CLASSID_TLSV4_WAN Two values are allowed 0 Enable l
28. 3 XML Syntax and Validation ipni dete e AAA ac ses EEEN N A EE 2 3 2 4 XML Tags for Configuring Federation Service s ssssssssssissessertissississenrensiesessesniesieneesee 2 6 2AT Federation Service nenm ni a e NE ATUR A TM oti aa Lb Wieck ogee vetoes 2 6 242 Doman ROUE iere a A E e ae a raaa r AE a a a at 2 9 2A AdMe a O pense a a heb a a a a ae r aaae a desde ie 2 10 2AA MOMIGOTITG nasennie e e a a a a a a a a e aas 2 12 DA o 1 110 3 ESETERE EE E E TEATE TERTE E EE EESE 2 22 24 6 TOPiCiROULES seipie iseis oih i giaa aeiia yeaa a as ioia 2 24 247 Auto Topie ROUTES erei anien ae eaaa Balhes desis E eaaa aa etaa sui sdstias leccdssase Saa aSa Eanes 2 32 2 5 Enabling and Disabling Federation Service Entities s ssssseessssisssesresrestersessessesreesieseeses 2 37 3 Running Federation Service 3 1 Starting Federation Service ss sesessissesiersessissessetessesresnesninstesesntnntenienesntnsnnntentesensnestentennens 3 1 3 2 Stopping Federation Service i siveececsencesssssevesaesstanshanscosivesveedessver sealavensiovedusdvsrsestuvasdeoestastae 3 1 4 Administering Federation Service from a Remote Location 4 1 Enabling Remote Administration cece cesssssseesesssssssseesesssssesesesesssssesesssesssesesescsens 4 1 422 Remote C OMIM Seis 22 sags se sess a gan teats EAR TLA stants Lsteee ech Dasara davteeis nates 4 2 AQ Add Peer inition cin winnie BARA ROAR a a e A BAe netted Shade 4 4 LL ereat oeoa on e
29. 8 181 0 31 8400 Data NAT Router WAN IP address 18 181 0 31 Public Server Bind Port 8400 Port forward settings WAN port 8400 to 192 168 1 11 7400 6 4 NAT Router WAN IP address 18 181 0 32 Public Server Bind Port 8500 Port forward settings WAN port 8500 to 192 168 5 11 7400 TCP Communication Scenarios 6 1 3 Asymmetric Communication Across NATs This scenario is similar to the previous one except in this case the TCP connections can be initiated only by the Federation Service instance in LAN1 For security reasons incom ing connections to LAN1 are not allowed Figure 6 4 shows how to configure the TCP transport in this scenario Figure 6 4 Asymmetric Communication Across NATs as parent classid Participant NDDS_TRANSPORT_ TCPv4 Transport CLASSID_TCPV4_WAN parent classid NDDS_TRANSPORT_ CLASSID_TCPV4_WAN Participant TCPv4 Transport public_address lt unset gt IP address 192 168 1 11 IP address public_address 192 168 5 11 18 181 0 32 8500 server_bind_port 0 Unreachable node Reachable node server_bind_port 7400 ll 11 pes Connection L Data NAT Router NAT Router Initial Peers 18 181 0 32 8500 Initial Peers lt unset gt aaan WAN IP address WAN IP address 18 181 0 32 18 181 0 31 Public Server Bind Port 8500 Port forward settings WAN port 8500 to 192 168 5 11 7400 Notice that the Federation Service on LAN 1 now does not
30. AN However more and more of these systems are being integrated in Wide Area Networks WANs With Federation Service you can scale Connext real time publish subscribe data distribution beyond the current local networks and make it available throughout a WAN QWOIIOM L Welcome to RTI Federation Service L With Federation Service you can build modular systems out of existing sys tems Data can be contained in private domains within subsystems and you can designate that only certain global topics can be seen across domains The same mechanism controls the scope of discovery Both application level and discovery traffic can be scoped facilitating scalable designs Federation Service provides secure deployment across multiple sites You can partition networks and protect them with firewalls and NATS and precisely con trol the flow of data between the network segments L Federation Service provides features for development integration and testing Multiple sites can each locally test and integrate their core application expose selected topics of data and accept data from remote sites to test integration con nectivity topic compatibility and specific use cases L It connects remotely to live deployed systems so you can perform live data analytics fault condition analysis and data verification 1 1 Available Documentation Federation Service documentation includes L Getting Started Guide RTI_Federation_Service
31. E NAME MAX LENGTH gt allow_registered_type_name_filter string lt TOPIC_NAME MAX LENGTH gt deny_topic_name_filter string lt TYP EF NAME MAX LENGTH gt deny_registered_type_name_filter RouteCreationMode creation_mode AutoRouteDdsOutputData dds_data struct AutoRouteData TY NAME MAX LENGTH gt federation_service_name key string lt EN1 string lt EN1 string lt EN1 TIT TIT TIT string lt ENI rY_NAM rY_NAM E MAX LENGTH gt domain_route_name key E MAX LENGTH gt session_name key TIT rY_NAM E MAX LENGTH gt name key boolean propagate_dispose boolean propagate_unregister boolean publ boolean publ e lish_with_original_info lish_with_original_timestamp long enabled_route_count AutoRouteInputData input AutoRouteOutputData output Table 5 5 describes the fields in the AutoRouteData data type Auto topic route data samples are published when L The auto topic route is enabled I The auto topic route is disabled dispose sample L The auto topic route configuration is modified using the remote command update I A new route is created from the auto topic route LI Monitoring is enabled via remote administration Table 5 5 AutoRouteData Field Name Key Description federation_service_name The federation service name assigned using appName domain_route_name
32. Property Name prefix with er dds transport TCPv4 ia tcp1 Maximum lifespan in seconds of the cookies associated with pending connections If a client does not connect to the server before the lifespan of its cookie expires it will outstanding_ connection_cookies_ life_span have to request a new cookie Range 1 second or higher or 1 Default 1 which means an unlimited amount of time effectively disabling the fea ture tls verify ca_file A string that specifies the name of a file containing Certificate Authority certificates The file should be in PEM format See the OpenSSL manual page for SSL_load_verify_locations for more information To enable TLS ca_file or ca_path is required both may be specified at least one is required tls verify ca_path A string that specifies paths to directories containing Certificate Authority certificates Files should be in PEM format and follow the OpenSSL required naming conventions See the OpenSSL manual page for SSL_CTX_load_verify_locations for more informa tion To enable TLS ca_file or ca_path is required both may be specified at least one is required tls verify verify_depth Maximum certificate chain length for verification tls verify crl_file Name of the file containing the Certificate Revocation List File should be in PEM format tls cipher cipher_list List of available TLS ciphers See the OpenSSL manual page for SSL_set
33. RTI Federation Service User s Manual Version 4 5 t f Your systems Working as one 2012 Real Time Innovations Inc All rights reserved Printed in U S A First printing March 2012 Trademarks Real Time Innovations RTI and Connext are trademarks or 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 1 Welcome to RTI Federation Service 1 1 Available Docum tation ereenn it N levis vos dea tivesJeveaddsucevicudivevestestsievsscseBes 1 2 2 Configuring Federation Service 2A Tems to KNOW a siostssisztevensiessxevecsithavereentaecueww hash hoes cough a e Moe easiest sees 2 2 2 2 How to Load the XML Configuration ccccesceccsssssesesesceesesesesesssesesescsesssesesesesssesesesesens 2 2 2
34. The domain route name session_name The session name 5 12 Monitoring Configuration Data Table 5 5 AutoRouteData Field Name Key Description ee V The auto topic route name which is configured using the name attri bute in the lt auto_topic_route gt tag ibit The configuration of the auto topic route input as contained in the P tag lt input gt inside lt auto_topic_route gt output The configuration of the auto topic route output as contained in the tag lt output gt inside lt auto_topic_route gt input participant Index of the input participant 1 or 2 The value of this field is used to determine whether the input of this auto topic route is the domain route s participant 1 or the participant 2 input allow_topic_name_ filter Topics that do not pass this filter in the input participant will not trig ger the creation of topic routes This filter is configured using the tag lt allow_topic_name_filter gt inside lt auto_topic_route gt lt input gt input allow_registered_ type_name_filter Topic with types that do not pass this filter in the input participant will not trigger the creation of topic routes This filter is configured using the tag lt allow_registered_type_name_filter gt inside lt auto_topic_route gt lt input gt output allow_topic_name_ filter Topics that do not pass this filter in the output participant will not trigger the c
35. Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description transport_priority_mask Mask for the transport priority field This is used in conjunction with transport_priority_ mapping_low transport_priority_ mapping_high to define the mapping from Connext transport priority to the IPv4 TOS field Defines a contiguous region of bits in the 32 bit transport priority value that is used to generate values for the IPv4 TOS field on an outgoing socket For example the value 0x0000ff00 causes bits 9 16 8 bits to be used in the mapping The value will be scaled from the mask range 0x0000 Oxff00 in this case to the range specified by low and high If the mask is set to zero then the transport will not set IPv4 TOS for send sockets Default 0 transport_priority_ mapping _low transport_priority_ mapping_high Sets the low and high values of the output range to IPv4 TOS These values are used in conjunction with transport_priority_mask to define the map ping from Connext transport priority to the IPv4 TOS field Defines the low and high values of the output range for scaling Note that IPv4 TOS is generally an 8 bit value Default transport_priority_mapping_low 0 Default transport_priority_mapping_high 0xFF server_socket_backlog Determines the maximum length of the queue of pending connections Default 5 public_addre
36. WO BUNOPUON S Monitoring Federation Service from a Remote Location 5 1 5 2 5 2 Where lt tag gt is one of the following entity kind tags FederationService DomainRoute or Session Route or AutoRoute Enabling Remote Monitoring By default remote monitoring is disabled in Federation Service for security and perfor mance reasons To enable remote monitoring you can use the lt monitoring gt tag see Section 2 4 4 or the remoteMonitoringDomainId command line parameter which enables remote monitoring and sets the domain ID for data publication For more information about the command line options see Section 3 1 in the Getting Started Guide When remote monitoring is enabled Federation Service creates L 1 DomainParticipant J 1 Publisher I 5 DataWriters for publishing configuration data one for each kind of entity 5 DataWriters for publishing status one for each kind of entity The QoS values for these entities are described in Section 2 4 4 Monitoring Configuration Data Configuration data for Federation Service entities is published in entity data topics These topics are similar to the Connext builtin topics DCPSParticipant DCPSPublication and DCPSSubscription that provide information about the configuration of remote entities This configuration data is published when An entity is created or enabled I An entity is disabled or destroyed a dispose message is published l The entity s
37. X LENGTH gt domain_route_name key MAX LENGTH gt session_name key string lt ENTITY_NAME string lt ENTITY_NAME MAX LENGTH gt name key StatisticVariable input_samples_per_s StatisticVariable input_bytes_per_s StatisticVariable output_samples_per_s StatisticVariable output_bytes_per_s StatisticVariable latency_s b Table 5 10 describes the fields in the AutoRouteStatusSet data type 5 23 uo 0oo0 eJowWeY D WOI BUNOPUOWN S Monitoring Federation Service from a Remote Location Table 5 10 5 24 AutoRouteSstatusSet Member Name Key Description federation_service_name Vv _ The federation service name assigned with appname domain_route_name y The domain route name session_name y The session name y The auto topic route name name The auto topic route name is configured using the name attribute in the lt auto_topic_route gt tag input_samples_per_s Statistic variable that provides information about the input sam ples per second across topic routes Input samples refer to the samples that are taken by the session from the auto topic routes s DataReaders input_bytes_per_s Statistic variable that provides information about the input bytes per second across topic routes Input bytes refer to the bytes that are taken by the session from the auto topic routes s DataReaders These bytes only refer to the seria
38. XML configuration would allow you to use commands such as e enable ShapeFederationService DomainRoutel Session SquaresRoute e enable ShapeFederationService DomainRoutel Note that the fully qualified name does not include the name of the federation service I lt peer_list gt is a comma separate list of peers I lt target_federation_service gt can be e The application name of a federation service such as MyFederationServicel as specified at start up with the command line option appName e A regular expression for a federation service name such as MyFederationService I lt xml_url gt can be e A file URL such as file home user myconfig xml e A string URL such as str lt topic_route gt lt input gt lt datareader_qos gt lt datareader_qos gt lt input gt lt topic_route gt If you omit the URL schema name Federation Service will assume a file name for example home user myconfig xml is equivalent to file home user mycon fig xml 1 As defined by the POSIX fnmatch API 1003 2 1992 section B 6 4 3 UOHDISIUIWUpPY jow y 7 Administering Federation Service from a Remote Location 4 2 1 4 2 2 4 4 In either case the XML code can represent either a whole DTD valid configura tion file such as the one you specify through the command line when you start Federation Service or a snippet of XML that only refers to a specific entity this is further explained in Section 4
39. _GettingStarted pdf High lights the benefits of Federation Service It provides installation and startup instructions and walks you through several examples so you can quickly see the benefits of using Federation Service L Release Notes RTI_Federation_Service_ReleaseNotes pdf Describes system requirements and compatibility as well as any version specific changes and known issues I Users Manual RTI_Federation_Service_UsersManual pdf Describes how to configure Federation Service and use it remotely Chapter 2 Configuring Federation Service This document describes how to configure Federation Service To see installation and start up instructions or to walk through some simple examples please see the Getting Started Guide When you start Federation Service you can specify a configuration file in XML format it is not required In that file you can set properties that control the behavior of the ser vice This chapter describes how to write a configuration file This chapter describes LJ Terms to Know Section 2 1 I How to Load the XML Configuration Section 2 2 LI XML Syntax and Validation Section 2 3 LI XML Tags for Configuring Federation Service Section 2 4 m Enabling and Disabling Federation Service Entities Section 2 5 2 1 uoonpyuop zZ Configuring Federation Service 2 1 Terms to Know Before learning how to configure Federation Service you should become familiar with a few key terms and
40. _cipher_list for more information on the format of this string tls cipher dh_param_files List of available Diffie Hellman DH key files For example foo pem 512 bar pem 256 means dh_param_files 0 file foo pem dh_param_files 0 bits 512 dh_param_files 1 file bar pem dh_param_files 1 bits 256 tls cipher engine_id String ID of OpenSSL cipher engine to request 6 19 SOMJON Dely PIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with ae dds transport TCPv4 Description tcp1 A string containing an identifying certificate chain in PEM format An identifying certificate is required for secure communication tls identity certificate_chain The string must be sorted starting with the certificate to the highest level root CA Either certificate_chain or certificate_chain_file is required You must set exactly one of these Do not set both of them this would produce a configuration error tls identity certificate_chain_file tls identity ptivate_key_password A string that specifies the name of a file containing an identifying certificate chain in PEM format An identifying certificate is required for secure communication The file must be sorted starting with the certificate to the highest level root CA Optionally a private key may be a
41. ae aeac n a agiien taiveh a a a aa a Rouen deaele Stach aA 4 4 7100 Same 21 eee no h e t i a e i E E E A G UE 4 5 ADA COISADIE ninasoma a A a eee 4 5 42 95 venable niesna R ea A Seas e Ra she Dla a a Ses Lats aeaa e aei 4 6 DOs doad memana aan Foss tes ca base ES Soe a eho e a ea SRS aes es aaa aa a a aN 4 6 AED Tos PAUSE sci lisesisid E E E E E E tearvehaus lasesee AE best og 4 6 4 28 rESUM estansa a Sl comes e a ieee tah Maeve eds 4 7 Fs OS MMSE E PPR EPPO PESO ED ER PES EEOE EIA E 4 7 AED O ES EERE LCY Cl EEE ASEAS PEAN ANT acceso cao AEE as aed E hate ETE E 4 7 ADA update oisnean a se E A AEE E EEE 4 7 4 3 Accessing Federation Service from Connext Applications ss ses sssssssssrssrsstsrtssssesstesstes 4 10 5 Monitoring Federation Service from a Remote Location 5 1 Enabling Remote Monitoring e esessssssssissisrsrersiesesstsntesiesesstnnsesinniesenniesnentesnisnesnenteenesnesnten 5 2 5 2 Monitoring Configuration Data ssssesssississssseeriestestistesssrtensissesnetentissenennennissinsentereenentene 5 2 5 2 1 Configuration Data for the Federation Service sssss ssssssssssssserirsissesnesssesiseesees 5 3 5 2 2 Configuration Data for a Domain Route ssssssessssssssessestersiesessesnsesiesiestnssenteneeseess 5 4 5 2 3 Configuration Data for a Session s sss esesessseessessesrisissessentiesesstnsnnnteneesensnentenreseess 5 6 5 2 4 Configuration Data for a Topic Route see s
42. ag is not defined Federation Service will use the Connext defaults Oorl 2 4 6 2 Defining Types in the Configuration File To define and use a type in your XML configuration file 2 27 uolOINByUuoD Z Configuring Federation Service 1 Define your type within the lt types gt tag This is one of the top level tags see Table 2 1 2 Register it in the participant s where you will use it 3 Refer to it in the domain route s that will use it For example lt dds gt lt types gt lt struct name PointType gt lt struct gt lt types gt lt federation_service name MyFederationService gt lt domain_route gt lt participant_1 gt lt participant_1 gt lt participant_2 gt lt registered_type name Position type_name PointType gt lt participant_2 gt lt session gt lt topic_route gt lt input participant 2 gt lt registered_type_name gt Position lt registered_type_name gt lt input gt lt output gt lt output gt lt topic_route gt lt session gt lt domain_route gt lt federation_service gt lt dds gt 2 28 XML Tags for Configuring Federation Service 2 4 6 3 The type description is done using the Connext XML format for type definitions For more information see Section 3 4 in the RTI Core Libraries and Utilities User s Manual Discovering Types If a topic route refers to types that are not defined in the configuration file th
43. aitSet used to sleep and notify the thread when data is available Example lt session gt lt wait_set gt lt max_event_count gt 5 lt max_event_count gt lt max_event_delay gt lt sec gt DURATION_INFINITE_SEC lt sec gt lt nanosec gt DURATION_INFINITE_NSEC lt nanosec gt lt max_event_delay gt lt wait_set gt lt session gt Default values max_event_count 1 max_event_delay sec DURATION_INFINITE_SEC max_event_delay nanosec DURATION_INFINITE_NSEC Oorl lt monitoring gt Enables and configures remote monitoring for the session See Moni toring Section 2 4 4 and Chapter 5 Monitoring Federation Service from a Remote Location Oorl 2 4 6 Topic Routes A topic route explicitly defines a mapping between an input topic on one domain and an output topic on the other domain For example the following topic route will subscribe to topic Square on domain 54 and will republish those samples on domain 55 lt dds gt lt federation_service gt 2 24 lt domain_route gt lt participant_1 gt lt domain_id gt 54 lt domain_id gt lt participant_1 gt XML Tags for Configuring Federation Service lt participant_2 gt lt domain_id gt 55 lt domain_id gt lt participant_2 gt lt session name Sessioni gt lt topic_route name SquaresRoute gt lt input participant 1 gt lt topic_name gt Square lt topic_name gt lt registered_type_nam
44. aller than the publication period If the tag is not defined the period is 1 second The statistics sampling period defined in lt federation_service gt is inherited by all the entities inside lt federation_service gt An entity can overwrite the period Oorl 2 17 uolOINByuoD Z Configuring Federation Service Table 2 6 Monitoring tags Tags within lt monitoring gt Description Number of Tags Allowed lt historical_statistics gt Enables or disables the publication of statistics calcu lated within fixed time windows By default Federation Service only publishes the statis tics corresponding to the window between two status publications By using this tag you can get the following additional windows LJ 5 seconds J 1 minute LJ 5 minutes J 1 hour Up time since the entity was enabled For example lt historical_statistics gt lt five_second gt true lt five_second gt lt one_minute gt true lt one_minute gt lt five_minute gt false lt five_minute gt lt one_hour gt true lt one_hour gt lt up_time gt false lt up_time gt lt historical_statistics gt If a window is not present inside the tag lt historical_statistics gt it is considered disabled Historical statistics can be overwritten on a per entity basis Oorl lt dds gt lt federation_service name MonitoringExample gt lt monitoring gt lt domain_id gt 55 lt domain_
45. ate_function to the DomainParticipant Aliases should be specified as a comma separated string with each comma delimiting an alias Default the transport prefix see Footnote 4 parent classid Must be set to one of the following values NDDS_TRANSPORT_CLASSID_TCPV4_LAN for TCP communication within a LAN NDDS_TRANSPORT_CLASSID_TLSV4_LAN for TLS communication within a LAN NDDS_TRANSPORT_CLASSID_TCPV4_WAN for TCP communication across LANs and firewalls NDDS_TRANSPORT_CLASSID_TLSV4_WAN for TLS communication across LAN and firewalls Default NDDS_TRANSPORT_CLASSID_TCPV4_LAN parent gather_send_ buffer_count_max Specifies the maximum number of buffers that Connext can pass to the send function of the transport plugin The transport plugin send operation supports a gather send concept where the send call can take several discontiguous buffers assemble and send them in a single message This enables Connext to send a message from parts obtained from different sources without first having to copy the parts into a single contiguous buffer However most transports that support a gather send concept have an upper limit on the number of buffers that can be gathered and sent Setting this value will prevent Connext from trying to gather too many buffers into a send call for the transport plu gin Connext requires all transport plugin implementations to support a gather send of least a minimum number of buffers This m
46. atus information associated with each kind of entity J Status Information for the Federation Service Section 5 3 2 J Domain Route Status Section 5 3 3 J Status Information for a Session Section 5 3 4 J Status Information for a Topic Route Section 5 3 5 J Status Information for an Auto Route Section 5 3 6 5 15 uo 00 ejoweYy D WO BUNOPUOWN S Monitoring Federation Service from a Remote Location 5 3 1 5 3 1 1 Each section describes the IDL for the topics underlying data types The IDL is also in the file lt Federation Service installation directory gt resource idl FederationService Monitoring idl How the Statistics are Generated Statistics Publication Federation Service reports multiple statistics as part of the different status sets For exam ple for a topic route the status contains statistical metrics about the input and output samples per second throughput struct RouteStatusSet StatisticVariable input_samples_per_s StatisticVariable output_samples_per_s hi The statistical information is published periodically in the form of StatisticVariables The period at which statistics are published is configurable using the tag lt status_publication_ period gt see Section 2 4 4 For a given variable Federation Service computes the metrics in StatisticMetrics during specific time frames struct StatisticMetrics unsigned long long period_ms long long count float mean
47. bind_port property When the TCP transport is configured for WAN communication with the parent clas sid property the IP address is the WAN or public address of the peer and the port is the public port that is used to forward traffic to the server port in the TCP transport When TLS is enabled the transport settings are similar to WAN and LAN over TCP Initial Peers in WAN Communication Participant 2 TCPv4 Transport LAN IP address 192 168 1 11 Server Bind Port Participant 1 TCPv4 Transport LAN IP address 192 168 5 11 Server Bind Port 7500 Initial Peers 192 168 1 11 8400 7400 Initial Peers 18 181 0 32 8500 WAN IP address 18 181 0 31 WAN IP address 18 181 0 32 Port forward settings Port forward settings WAN port 8400 to 192 168 5 11 7400 WAN port 8500 to 192 168 5 11 7500 6 7 SOMJON Dely pIM BulsioAnI 9 Traversing Wide Area Networks 6 2 2 6 8 Setting Up the TCP Transport Properties with the PropertyQoSPolicy The PropertyQosPolicy allows you to set up name value pairs of data and attach them to an entity such as a DomainParticipant The configuration of the TCP transport with Federation Service is done using the PropertyQosPolicy of the Domain Participants that are going to use the transport For a list of the properties that you can set for the TCP transport see the RTI Core Librar ies and Utilities User s Manual In the following example participant_1 will communicate with
48. blished when L The topic route is enabled I The topic route is disabled dispose sample The topic route configuration is modified using the remote command update l The topic route s DataReader is created L The topic route s DataReader is destroyed L The topic route s DataWriter is created The topic route s DataWriter is destroyed Monitoring is enabled via remote administration Configuration Data for an Auto Topic Route The topic that publishes auto topic route configuration data is called rti federation_service monitoring auto_route_data The IDL definition of the data type RTI FederationService Monitoring AutoRouteData is struct AutoRouteDdsInputData long domain_id string lt EXPRESSION_MAX LENGTH gt content_filter_expression Js struct AutoRouteDdsOutputData long domain_id es struct AutoRouteInputData string lt TOPIC_NAME MAX LENGTH gt allow_topic_name_filter string lt TYPE_NAME MAX LENGTH gt allow_registered_type_name_filter string lt TOPIC_NAME MAX LENGTH gt deny_topic_name_filter string lt TYPE_NAME MAX LENGTH gt deny_registered_type_name_filter long participant RouteCreationMode creation_mode AutoRouteDdsInputData dds_data UOlD907 eJowWeY D WO BUNOPUON S Monitoring Federation Service from a Remote Location struct AutoRouteOutputData string lt TOPIC_NAME MAX LENGTH gt allow_topic_name_filter string lt TYP
49. c See Table 2 10 required 1 lt output gt Defines the topic route s output topic See Table 2 10 required Defines if the input domain will use types discovered in the output domain and vice versa for the creation of lt route_types gt DataWriters and DataReaders in the topic route Oorl See Discovering Types Section 2 4 6 3 Default false Writes the data sample as if they came from its original writer Setting this option to true allows having redundant lt publish_with_original_info gt federation services and prevents the applications from 0 or 1 receiving duplicate samples Default false When this tag is set to true the data samples are written with their original source timestamp Oorl Default false lt publish_with_ original_timestamp gt Indicates whether or not disposed samples NOT_ALIVE_DISPOSE must be propagated by the topic lt propagate_dispose gt route Oorl Default true Indicates whether or not NOT_ALIVE_NO_WRITERS samples must be propagated by the topic route by using lt propagate_unregister gt the unregister_instance operation Oori Default true Configures remote monitoring for the topic route See lt entity_monitoring gt Monitoring Section 2 4 4 and Chapter 5 Monitoring Fed 0 or 1 8 8 P 8 eration Service from a Remote Location 2 4 6 1 Topic Route Types The tag lt registered_type_name gt within the lt input gt and lt outpu
50. c variable that provides information about the output sam ples per second in the topic route Output samples refer to the samples that are published out by the session thread using the topic route s DataWriter Monitoring Status Table 5 9 RouteStatusSet Member Name Key Description output_bytes_per_s Statistic variable that provides information about the output bytes per second in the topic route Output bytes refer to the bytes that are published out by the ses sion thread using the topic route s DataWriter The variable only considers the bytes of the serialized samples Protocol headers UDP RTPS are not included Statistic variable that provides information about the latency in seconds in the topic route latency_s A 5 e The latency in a topic route refers to the time elapsed between the sample read and write 5 3 6 Status Information for an Auto Route The topic that publishes auto topic route status is called rti federation_service monitor ing auto_route_status_set The auto route status aggregates the statistics of the routes created from it the mean of the means in the routes the absolute maximum and minimum across routes the mean of the standard deviation and the total count The IDL definition of the data type is struct AutoRouteStatusSet a string lt ENTITY_NAME MAX LENGTH gt federation_service_name key string lt ENTITY_NAME MA
51. ce instance administration aa i Specifies the file that will contain the saved configuration save_path administration A boolean that if true automatically triggers a save command auto_save_on_update when configuration updates are received Federation service data samples are published when I The federation service instance is enabled L The federation service instance is disabled dispose sample E Monitoring is enabled via remote administration Configuration Data for a Domain Route The topic that publishes domain route configuration data is called rti federation_service monitoring domain_route_data The domain route data describes the configuration of the domain route and its participants but not its contained entities Monitoring Configuration Data Table 5 2 The IDL definition of the data type RTI FederationService Monitoring DomainRoute Data is struct DomainRouteParticipantData long domain_id BuiltinTopickKey_t participant_key y struct DomainRouteData string lt ENTITY_NAME_MAX_LENGTH gt federation_service_name key string lt ENTITY_NAME_MAX_LENGTH gt name key DomainRouteParticipantData participant_1 DomainRouteParticipantData participant_2 i Table 5 2 describes the members of the DomainRouteData data type DomainRouteData Field Name Key Description The federation service name assigned using app federation_serv
52. concepts LL A federation service entity refers to an execution of Federation Service L A domain route defines a two way mapping between two specific domains I A session entity defines a single threaded context for topic routes LI A topic route defines a one way mapping between an input topic in one domain and an output topic in the other domain An auto topic route defines a set of potential topic routes based on deny allow fil ters on the topic name and registered type name 2 2 How to Load the XML Configuration Federation Service loads its XML configuration from multiple locations This section presents the various approaches listed in load order The first three locations only contain QoS Profiles and are inherited from Connext see Chapter 15 in the RTI Core Libraries and Utilities User s Manual I NDDSHOME resource qos_profiles_4 5x xml NDDS_QOS_PROFILES xml This file contains the Connext default QoS values it is loaded automatically if it exists First to be loaded I File in NDDS_QOS_PROFILES The files or XML strings separated by semicolons referenced in this environ ment variable are loaded automatically L lt working directory gt USER_QOS_PROFILES xml This file is loaded automatically if it exists 1 x stands for the version letter of the current release 2 2 XML Syntax and Validation The next locations are specific to Federation Service Ll lt Federation Ser
53. dispose sample Atopic route inside the session is enabled I An auto_topic_route inside the session is disabled Monitoring is enabled via remote administration Configuration Data for a Topic Route The topic that publishes route configuration data is called rti federation_service moni toring route_data The IDL definition of the data type RTI FederationService Monitoring RouteData is struct RouteDdsInputData long domain_id BuiltinTopicKey_t datareader_key string lt EXPRESSION_MAX LENGTH gt content_filter_expression LF struct RouteDdsOutputData long domain_id BuiltinTopicKey_t datawriter_key ks struct RouteInputData string lt TOPIC_NAME MAX LENGTH gt topic_name string lt TYPE_NAME MAX LENGTH gt registered_type_name long participant RouteCreationMode creation_mode DDSEntityState state RouteDdsInputData dds_data ti struct RouteOutputData string lt TOPIC_NAME_MAX LENGTH gt topic_name string lt TYPE_NAME MAX LENGTH gt registered_type_name RouteCreationMode creation_mode DDSEntityState state RouteDdsOutputData dds_data 5 7 UOlID907 eJoweY D WO BUNOPUON S Monitoring Federation Service from a Remote Location struct RouteData string lt ENTITY_NAME MAX LENGTH gt federation_service_name key string lt ENTITY_NAME MAX LENGTH gt domain_route_name key string lt ENTITY_NAME MAX LENGTH gt session_name k
54. e entities are described in the Federation Service User s Manual This option overwrites the value of the tag lt domain_id gt within a lt administration gt tag See the Federation Service User s Manual for information on configuring remote access Default remote administration is not enabled unless it is enabled from the XML file remoteMonitoringDomainId lt ID gt Enables remote monitoring and sets the domain ID for status publication When remote monitoring is enabled Federation Service will create one DomainParticipant one Publisher five DataWriters for data publication one for each kind of entity and five DataWriters for status publication one for each kind of entity The QoS values for these entities are described in the Federation Service User s Manual This option overwrites the value of the tag lt domain_id gt within a lt monitoring gt tag See the Federation Service User s Manual for information on configuring remote monitoring Default remote monitoring is not enabled unless it is enabled from the XML file sleep lt seconds gt Sleeps for x seconds before executing the next command This is useful when issuing commands from a command file see cmd Name stopAfter lt sec gt Stops the service after the specified number of seconds use42eAlignment Enables compatibility with RTI Data Distribution Service 4 2e This option should be used when compatibility wi
55. e federa tion service has to discover their typecodes A topic route cannot be created without the typecode information By default the DataReader creation will be tied to the discovery of types typecodes in the input domain and the DataWriter creation will be tied to the discovery of types typecodes in the output domain If you want to use types discovered in either one of the domains for the creation of both the DataReader and DataWriter you must set the lt route_types gt tag to true In the following example both the DataWriter and DataReader will be created as soon as the type ShapeType is discovered in either domain lt topic_route gt lt route_types gt true lt route_types gt lt input participant 1 gt lt creation_mode gt IMMEDIATE lt creation_mode gt lt registered_type_name gt ShapeType lt registered_type_name gt lt input gt lt output gt lt creation_mode gt IMMEDIATE lt creation_mode gt lt registered_type_name gt ShapeType lt registered_type_name gt lt output gt lt topic_route gt In this next example the DataReader will be created only when the type ShapeType is discovered in the input domain the DataWriter will be created only when the type Sha peType is discovered in the output domain lt topic_route gt lt route_types gt false lt route_types gt lt input participant 1 gt lt creation_mode gt IMMEDIATE lt creation_mode gt lt registered_type_name gt ShapeType lt regis
56. e gt ShapeType lt registered_type_name gt lt input gt lt output gt lt topic_name gt Square lt topic_name gt lt registered_type_name gt ShapeType lt registered_type_name gt lt output gt lt topic_route gt lt session gt lt domain_route gt lt federation_service gt lt dds gt The direction is defined by the attribute participant of the tag lt input gt Therefore to change the above example to read Squares from domain 55 and write them on domain 54 we would have used lt input participant 2 gt Every topic route creates a DataReader and DataWriter that belong to the corresponding session s Subscriber and Publisher respectively The read and write operations will be performed in the context of the thread associated with the session Topic Routes vs Auto Topic Routes A topic route is an explicit route of data for two spe cific topics An auto topic route defined with a different tag lt auto_topic_route gt is a way to automatically create topic routes based on filters see Auto Topic Routes Sec tion 2 4 7 Table 2 9 lists the tags allowed within a lt topic_route gt Table 2 10 lists the tags allowed within the lt input gt and lt output gt tags 2 25 uolOINByuoD Z Configuring Federation Service Table 2 9 Topic Route Tags Number Tags within lt topic_route gt Description of Tags Allowed i pa 1 lt input gt Defines the topic route s input topi
57. e topic route propagates NOT_ALIVE_DISPOSE sam ples The propagation of NOT_ALIVE_DISPOSE samples is configured using the tag lt propagate_dispose gt in lt topic_route gt propagate_unregister Indicates if the topic routes propagate NOT_ALIVE_NO_WRITERS samples The propagation of NOT_ALIVE_NO_WRITERS samples is config ured using the tag lt propagate_unregister gt in lt auto_topic_route gt publish_with_original_info Indicates if the topic routes publish the samples with original writer information Setting this option to true allows redundant topic routes and prevents applications from receiving duplicate samples The publication with original writer info is configured using the tag lt publish_with_original_info gt inside lt auto_topic_route gt publish_with_original_ timestamp Indicates if the topic routes are configured to publish the output sam ples with the same timestamp as that of the input sample enabled_route_count The number of enabled topic routes associated with the auto topic route 5 3 Monitoring Status Operational status for Federation Service entities is published in entity status_set topics This information changes continuously and is computed and published periodically The status information for the different entities is composed primarily of statistics Section 5 3 1 explains how these statistics are calculated and published These sections describe the st
58. ederation_service gt lt entity_name gt e disable lt target_federation_service gt lt entity_name gt e enable lt target_federation_service gt lt entity_name gt e load lt target_federation_service gt lt cfg_name gt lt xml_url gt remote local e pause lt target_federation_service gt lt entity_name gt e resume lt target_federation_service gt lt entity_name gt e save lt target_federation_service gt e enable lt target_federation_service gt e update lt target_federation_service gt lt entity_name gt lt xml_url gt lt assignment_expr gt remote local Parameters L lt assignment_expr gt can be used instead of lt xml_url gt to modify single values in an entity configuration The assignment expression has the form lt fully qualified value name gt lt value gt For example update ShapeRouter DomainRoutel Sessionl SquareRoute topic_route input datareader_gos deadline period sec 3 Remote Commands update ShapeRouter DomainRoutel Session1 SquareRoute topic_route input content_filter expression x lt 30 LI lt domain_route_name gt is the fully qualified name of a domain route entity Ll lt entity_name gt is a fully qualified name For example consider the following XML configuration lt federation_service name ShapeFederationService gt lt domain_route name DomainRoutel gt lt session name Session gt lt topic_route name SquaresRoute gt The above
59. eeenee 6 6 62 Configuring the TCP Transport tessi en oaen e eia saat Ea EEan A S EiS 6 6 6 2 1 TCP Transport Initial Peers sssesesseseessessessiesesstsssesiesttsesseesteseesensnententennessesnenrenness 6 7 6 2 2 Setting Up the TCP Transport Properties with the PropertyQoSPolicy 6 8 6 2 3 TCP TLS Transport Properties assiso aninei sasasi a 6 9 Chapter 1 Welcome to RTI Federation Service Welcome to RTI Federation Service This component of RTI Connext Messaging is an out of the box solution for federating geographically dispersed systems It scales RTI Connext formerly RTI Data Distribution Service applications across domains LANs and WANs including firewall and NAT traversal Traditionally Connext applications can only communicate with applications in the same domain With Federation Service you can send and receive data across domains You can also control which data is sent by using allow and deny lists 7 Federation Federation a Service Service Simply set up Federation Service to pass data from one domain to another and specify any desired data filtering No changes are required in the Connext applications Key benefits of Federation Service I It can significantly reduce the time and effort spent integrating and scaling Connext applications across Wide Area Networks and Systems of Systems Many systems today already rely on Connext to distribute their information across a Local Area Network L
60. efaults Oorl lt allow_topic_name_filter gt The topic name filter Default allow all Oorl lt allow_registered_type_name_filter gt The registered type name filter Default allow all Oorl lt deny_topic_name_filter gt A topic name filter that should be denied excluded This is applied after the lt allow_topic_name_filter gt Default Not applied Oorl lt deny_registered_type_name_filter gt A registered type name filter that should be denied excluded This is applied after the lt allow_registered_type_name_filter gt Default Not applied Oorl 2 35 uolOINByUuoD Z Configuring Federation Service 1 As defined by the POSIX fnmatch API 1003 2 1992 section B 6 2 36 Enabling and Disabling Federation Service Entities 2 5 Enabling and Disabling Federation Service Entities The Federation Service entities associated with the tags lt federation_service gt lt domain_route gt lt topic_route gt and lt auto_topic_route gt can be created enabled or disabled using the attribute enabled By default the value of the enabled attribute is true For example lt dds gt lt federation_ service name TopicBridgeExample group_name rti router default enabled true gt lt domain_route name DomainRoute enabled false gt lt participant_1 gt lt domain_id gt 0 lt domain_id gt lt participant_1 gt lt participant_2 gt
61. ems For an example on how to use and configure the TCP transport with Federation Service see Example 5 Using TCP Transport with Federation Service Section 4 5 in the Get ting Started Guide As seen in the example you can configure the properties of the transport in the XML configuration file using the appropriate name value pairs in the DomainParticipant s PropertyQoSPolicy This will cause Federation Service to dynamically load the TCP trans port library at run time and then implicitly create and register the transport plugin with Connext Configuring the TCP Transport 6 2 1 Figure 6 5 TCP Transport Initial Peers With the TCP transport the addresses of the initial peers NDDS_DISCOVERY_PEERS that will be contacted during the discovery process have the following format For WAN communication tcpv4_wan lt IP address or hostname gt lt port gt For LAN communication tcpv4_lan lt IP address or hostname gt lt port gt For WAN TLS communication tlsv4_wan lt IP address or hostname gt port For LAN TLS communication tlsv4_lan lt IP address or hostname gt port For example setenv NDDS_DISCOVERY_PEERS tcpv4_wan 10 10 1 165 7400 tcpv4_wan 10 10 1 111 7400 tcpv4_lan 192 168 1 1 7500 When the TCP transport is configured for LAN communication with the parent classid property the IP address is the LAN address of the peer and the port is the server port used by the transport the server_
62. end a sample that contains a command and its parameters Optionally you can cre ate a DataReader for a specific topic to receive the results of the execution of your com mands The topics are I rti federation_service administration command_request I rti federation_service administration command_response The types are L RTI FederationService Administration CommandRequest I RTI FederationService A dministration CommandResponse You can find the IDL definitions for these types in lt Federation Service installation directory gt resource idl FederationServiceAdministration idl The QoS configuration of your DataWriter and DataReader must be compatible with the one used by the federation service see how this QoS is configured in Section 2 4 3 When you send an XML string URL str lt xml_code gt with the load and update commands if the string is longer than XML_URL_MAX_LENGTH in the IDL file you will have to split the string and send several samples setting the final field to false in all but the last sample The following example shows how to send a command to update the Deadline QoS pol icy for a topic route s DataReader Create entities participant publisher topic datawriter i or ne RTI_FederationService_CommandRequest cmdRequest RTI_FederationService_CommandRequestTypeSupport create_data By specifying an unique ID for this command you will be able to identify its response later on
63. es and auto topic routes that it contains The topic routes and auto topic routes will be created enabled or disabled depending on their current configuration Enabling a domain route is required to start federation data from the input domain to the output domain LI Topic route and auto topic route Enabling a topic route or auto topic route is a necessary condition to start sending data between input and output streams However data federation will not start until the DataWriter and DataReader associated with a topic route are created see Section 2 4 6 4 for additional infor mation load load lt target_federation_service gt lt cfg_name gt lt xml_url gt remote local The load command loads specific XML configuration code The target_federation_service must be disabled For more information see How to Load the XML Configuration Sec tion 2 2 The XML code received must represent a valid federation service configuration file The name of the lt federation_service gt tag to load is identified with lt cfg_name gt pause pause lt target_federation_service gt lt entity_name gt When the pause command is called in a route the session thread containing this topic route will stop reading data from the topic route s DataReader For federation service domain routes and auto topic routes the execution of this com mand will pause the contained topic routes Remote Commands 4 2 8 4 2 9 4 2 10 4 2 11 res
64. ey string lt ENTITY_NAME MAX LENGTH gt name key string lt ENTITY_NAME MAX LENGTH gt auto_route_name boolean boolean boolean boolean boolean propagate_dispose propagate_unregister publish _with_original_info publish _with_original_timestamp route_types RouteInputData input RouteOutputData output yi Table 5 4 describes the fields in the RouteData topic data type Table 5 4 RouteData Field Name Key Description federation_service_name v The federation service name assigned with appName domain_route_name Y The domain route name session_name vy The session name ae The topic route name which is configured using the name attribute in the lt topic_route gt tag auto_route_name If the topic route is contained in an auto topic route this field contains the auto topic route name Otherwise the field is initialized with the empty string input The configuration of the topic route s input as contained in the tag lt input gt inside lt topic_route gt output The configuration of the topic route s output as contained in the tag lt out put gt inside lt topic_route gt input participant Index of the input participant 1 or 2 The value of this field is used to determine whether the input of this route is the domain route s participant 1 or participant 2 5 8 Monitoring Configuration Data
65. federation_service dtd gt lt dds gt lt dds gt We recommend including a reference to the XSD file in the XML documents this pro vides stricter validation and better auto completion than the corresponding DTD file 2 5 uolOINByuoD zZ Configuring Federation Service 2 4 XML Tags for Configuring Federation Service This section describes the XML tags you can use in a Federation Service configuration file The following diagram and Table 2 1 describe the top level tags allowed within the root lt dds gt tag lt qos_library gt See RTI Core Libraries and Utilities User s Manual Ch 15 Optional lt types gt See Section 2 4 6 2 lt federation_service gt Required See Section 2 4 1 2 4 1 Federation Service A configuration file must have at least one lt federation_service gt tag this tag is used to configure an execution of Federation Service A configuration file may contain multiple lt federation_service gt tags When you start Federation Service you can specify which lt federation_service gt tag to use to configure the service using the cfgName command line parameter 2 6 XML Tags for Configuring Federation Service Table 2 1 Top level Tags in the Configuration File Number Tags within lt dds gt Description of Tags Allowed t Specifies a Federation Service configuration See Federation 1 or more lt federation_service gt i Service Section 2 4 1 required
66. file then the Federation Service will use domains 50 and 51 Default 0 help Displays help information licenseFile lt file gt Specifies the license file path and filename Only applicable to licensed versions of Federation Service If not specified Federation Service looks for the license as described in Installing the License File Section 2 3 in the Getting Started Guide identifyExecution Appends the host name and process ID to the service name pro vided with the appName option This helps ensure unique names for remote administration and monitoring For example MyFederationService_myhost_20024 maxObjectsPerThread lt int gt Parameter for the DomainParticipantFactory noAutoEnable Starts Federation Service in a disabled state Use this option if you plan to enable Federation Service remotely as described in the Federation Service User s Manual This option overwrites the value of the enable attribute in the lt federation_service gt tag Stopping Federation Service Table 3 1 Federation Service Command line Options Option Description remoteAdministrationDomainId lt ID gt Enables remote administration and sets the domain ID for remote communication When remote administration is enabled Federation Service will create a DomainParticipant Publisher Subscriber DataWriter and DataReader in the designated domain The QoS values for thes
67. five_minute gt false lt five_minute gt lt one_hour gt true lt one_hour gt lt up_time gt false lt up_time gt lt historical_statistics gt If a window is not present inside the tag lt historical_statistics gt it is considered disabled If this tag is not defined historical statistics are inherited from the general monitoring settings Oorl 2 2 uolOINByuoD Z Configuring Federation Service 2 4 5 Session A lt session gt tag defines a single threaded context for data bridging it may also contain topic routes Section 2 4 6 and auto topic routes Section 2 4 7 For example lt dds gt lt federation_service name MyFederationService gt lt domsin routes lt session name Session1 gt e ET name TopicRoutel gt sjtopic routes gjsess ions gjasme i n roate o jfederation services lt das gt Each session creates a Publisher and Subscriber on each of the two participants participant_1 and participant_2 Table 2 8 lists the tags allowed within a lt session gt tag Table 2 8 Session Tags er Number Tags within Descripti fT lt session gt escription of Tags Allowed Defines a general topic route based on type and topic filters lt auto_topic_route gt i 0 or more See Auto Topic Routes Section 2 4 7 Defines a data mapping between two topics lt topic_route gt 0 or more See Topic Routes Section 2 4 6 2 22 XML Tags for Conf
68. gistered_type_name_filter gt lt input gt lt output gt lt allow_topic_name_filter gt A lt allow_topic_name_filter gt lt allow_registered_type name _filter gt B lt allow_registered_type_name_filter gt lt output gt lt auto_topic_route gt lt session gt 2 32 XML Tags for Configuring Federation Service lt domain_route gt lt federation_service gt lt dds gt The previous auto topic route will lead to the creation of a topic route every time any topic of type ShapeType is discovered on the first participant or a topic starting with A with a type starting with B is discovered on the second participant For example discovering the topic Triangle of ShapeType will trigger the creation of a topic route that routes triangles from the first to the second domain Discovering a topic Atopic of type Btype on the second domain will trigger the creation of a topic route that routes Atopic from the first to the second domain too Table 2 12 lists the tags allowed within an lt auto_topic_route gt tag Table 2 13 lists the tags allowed within lt input gt and lt output gt tags nested within an lt auto_topic_route gt tag Table 2 12 Auto topic Route Tags timestamp gt their original source timestamp Default false eae Number Tag within ec f lt auto_topic_route gt Ai a Tage i 2 Allowed Defines the auto topic route s input topic See A
69. he statistics of the topic routes contained in it the mean of the means in the topic routes the absolute maximum and minimum across topic routes the mean of the standard deviation and the total count The IDL definition of the data type is struct SessionStatusSet TY _NAME MAX LENGTH gt federation_service_name key string lt ENTITY_NAME MAX LENGTH gt domain_route_name key TY NAME MAX LENGTH gt name key string lt ENTI string lt ENTI1 StatisticVariable StatisticVariable StatisticVariable StatisticVariable StatisticVariable i input_samples_per_s input_bytes_per_s output_samples_per_s output_bytes_per_s latency_s Table 5 8 describes the fields in the SessionStatusSet data type 5 20 Monitoring Status Table 5 8 SessionStatusSet Field Name Key Description federation_service_name domain_route_name lt The federation service name assigned with appName The domain route name name The session name The domain route name is configured using the name attribute in the lt session gt tag input_samples_per_s Statistic variable that provides information about the input sam ples per second across topic routes Input samples refer to the samples that are taken by the session from the topic routes s DataReaders input_bytes_per_s Statistic variable that provides information about the input bytes
70. his field is meaningful only when the state is RTI_LFEDERATION_SERVICE_ CREATED AND_ENABLED output dds_data datawriter_key Unique identifier for the DataWriter The value of this field is only meaningful when datawriter_state is RTI_LFEDERATION_SERVICE_ CREATED AND_ENABLED input dds_data content_filter_ expression Content filter expression associated with the content filter for the topic route DataReader The expression is configured using the tag lt content_filter gt lt expression gt inside lt topic_route gt lt input gt 5 9 UOIND07 ejoweYy D WO BUNOPUOWN S Monitoring Federation Service from a Remote Location Table 5 4 RouteData Field Name Key Description propagate_dispose Indicates if the topic route propagates NOT_ALIVE_DISPOSE samples The propagation of NOT_ALIVE_DISPOSE samples is configured using the tag lt propagate_dispose gt in lt topic_route gt propagate_unregister Indicates if the topic route propagates NOT_ALIVE_NO_WRITERS sam ples The propagation of NOT_ALIVE_NO_WRITERS samples is configured using the tag lt propagate_unregister gt in lt topic_route gt publish_with_original_ info publish_with_original_ timestamp Indicates if the topic route publishes the samples with original writer info Setting this option to true allows redundant topic routes and prevents the applications from receiving duplicate samples The
71. iceStatusSet data type FederationServiceStatusSet Field Name Key Description name v cpu_usage_percentage Name of the federation service instance The name associated with the federation service instance can be assigned explicitly by using the appName command line parame ter If appName is not used the lt federation_service gt tag name provided with cfgName is used If you use the identifyExecu tion command line parameter the host name and the process ID are appended to the name For example RTI_FederationService_myhost_1234 Statistic variable that provides the percentage of CPU usage of the federation service process over different time windows This variable is only supported on Windows and Linux systems physical_memory_kb Statistic variable that provides the physical memory utilization of the federation service process This variable is only supported on Windows and Linux systems total_memory_kb Statistic variable that provides the virtual memory utilization of the federation service process This variable is only supported on Windows and Linux systems Domain Route Status The topic that publishes domain route status is called rti federation_service monitor ing domain_route_status_set The domain route status aggregates the statistics of the topic routes contained in it the mean of the means in the topic routes the absolute maximum and minimum across topic routes
72. ice_name Jv a nee assig using app The domain route name This is configured using the NADIE 4 name attribute in the lt domain_route gt tag articipant_1 The configuration of the lt participant_1 gt P P 8 P pP articipant_2 The configuration of the lt participant_2 gt P P 8 pP pP Domain ID of the first domain route participant The participant_1 domain_id domain ID is configured using the XML tag lt domain_id gt inside lt participant_1 gt Domain ID of the second domain route participant The participant_2 domain_id domain ID is configured using the XML tag lt domain_id gt inside lt participant_2 gt participant_1 participant_key Unique identifier for the first DomainParticipant participant_2 participant_key Unique identifier for the second DomainParticipant A domain route can be correlated with its corresponding DomainParticipants using the fields participant_1 participant_key and or participant_2 participant_key For example let s assume that we want to get the value of the PropertyQosPolicy associ ated with the first DomainParticipant of a domain route To do that we would subscribe to the participant builtin topic and look for a sample where the key member is equal to 5 5 UOlID907 eJowWSeY D WO BUNOPUOWN S Monitoring Federation Service from a Remote Location 5 2 3 participant_1 participant_key From this sample we can get the PropertyQosPolicy by access
73. id gt lt status_publication_period gt lt sec gt 1 lt sec gt lt status_publication_period gt lt statistics_sampling_period gt lt sec gt 1 lt sec gt lt nanosec gt 0 lt nanosec gt lt statistics_sampling_period gt lt monitoring gt 2 18 XML Tags for Configuring Federation Service lt domain_route gt lt entity_monitoring gt lt status_publication_period gt lt sec gt 4 lt sec gt lt status_publication_period gt lt entity_monitoring gt lt domain_route gt lt federation_service gt lt dds gt In the previous example the domain route overwrites the status publication period to 4 seconds and inherits the statistics sampling period Table 2 7 Entity Monitoring Tags Tags within Bipasha ara Description of Tags lt entity_monitoring gt Allowed Enables disables remote monitoring for a given entity lt enabled gt If general monitoring is disabled this value is ignored Oorl Default value true Specifies the frequency at which the status of an entity is published For example lt status_publication_period gt lt status_publication_period gt lt sec gt 3 lt sec gt lt nanosec gt 0 lt nanosec gt lt status_publication_period gt If the tag is not defined its value is inherited from the gen Oorl eral monitoring settings 2 19 uolOINByuoD zZ Configuring Federation Service Table 2 7 Entity Monitoring Tags The
74. iguration data for the federation service see Configuration Data for the Federation Service Section 5 2 1 Oorl uolOINByUuoD Z Configuring Federation Service 2 14 For example lt dds gt lt federation_service gt lt enabled gt true lt enabled gt lt monitoring gt lt domain_id gt 55 lt domain_id gt lt status_publication_period gt lt sec gt 1 lt sec gt lt status_publication_period gt lt monitoring gt Siederab ion senie lt dds gt Federation Service allows monitoring of the following kinds of entities e lt federation_service gt see Section 2 4 1 e lt domain_route gt see Section 2 4 2 e lt session gt see Section 2 4 5 e lt topic_route gt see Section 2 4 6 e lt auto_topic_route gt see Section 2 4 7 For each entity Federation Service can publish two kinds of information LI Entity data LI Entity status Entity data provides information about the configuration of the entity For example the topic route data contains information such as the topic name and the type name Entity data information is republished every time the entity is enabled disabled or has config uration changes Entity status provides information about the operational status of an entity This kind of information changes continuously and is computed and published periodically For example the topic route status contains information such as the topic route s latency and throughput For mo
75. iguring Federation Service Table 2 8 Session Tags Tags within lt session gt Description Number of Tags Allowed lt publisher_qos gt Sets the QoS of both Publishers The contents of this tag are specified in the same manner as a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual If the tag is not defined Federation Service will use the Connext defaults Oorl lt subscriber_qos gt Sets the QoS of both Subscribers The contents of this tag are specified in the same manner as a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual If the tag is not defined Federation Service will use the Connext defaults Oorl lt thread gt Sets the mask priority and stack size of the thread associated with this session Example lt session gt lt thread gt lt mask gt MASK_DEFAULT lt mask gt lt priority gt THREAD_PRIORITY_DEFAULT lt priority gt lt stack_size gt THREAD_STACK_SIZE DEFAULT lt stack_size gt lt thread gt lt session gt Default values mask MASK_DEFAULT priority THREAD_PRIORITY_DEFAULT stack_size THREAD STACK SIZE DEFAULT Oorl 2 23 uolOINByUuoD zZ Configuring Federation Service Table 2 8 Session Tags Tags within lt session gt Description Number of Tags Allowed lt wait_set gt Configures the W
76. ing the member called property For additional information on how to subscribe to builtin topics see the RTI Core Librar ies and Utilities User s Manual Domain route data samples are published when L The domain route is enabled L The domain route is disabled dispose sample LI Monitoring is enabled via remote administration Configuration Data for a Session The topic that publishes session configuration data is called rti federation_service monitoring session_data The session data describes the configuration of the session but not its contained entities The IDL definition of the data type is struct SessionData string lt ENTITY_NAME MAX LENGTH gt federation_service_name key string lt ENTITY_NAME MAX LENGTH gt domain_route_name key string lt ENTITY_NAME MAX LENGTH gt name key long enabled_route_count Table 5 3 describes the fields in the SessionData data type Table 5 3 SessionData Field Name Key Description federation_service_name v The federation service name assigned using appName domain_route_name y The domain route name The session name which is configured with the name attri name v i bute in the lt session gt tag enabled_route_count The number of enabled routes Monitoring Configuration Data 5 2 4 Session data samples are published when I The session is enabled I The session is disabled
77. inimum number is defined as NDDS_TRANSPORT_PROPERTY_GATHER_SEND_BUFFER_COUNT_MIN Default 128 Configuring the TCP Transport Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with Description dds transport TCPv4 P tcp1 The maximum size of a message in bytes that can be sent or received by the transport plugin parent If you set this higher than the default the DomainParticipant s buffer_size in the message_size_max RECEIVER_POOL QosPolicy see the RTI Core Libraries and Utilities User s Manual should also be changed Default 9216 parent allow_interfaces_list A list of strings each identifying a range of interface addresses that can be used by the transport Interfaces must be specified as comma separated strings with each comma delimiting an interface For example 10 10 10 15 If the list is non empty this white list is applied before parent deny_interfaces_list Default All available interfaces are used parent deny_interfaces_list A list of strings each identifying a range of interface addresses that will not be used by the transport If the list is non empty deny the use of these interfaces Interfaces must be specified as comma separated strings with each comma delimiting an interface For example 10 10 This black list is applied after parent allow_interfaces_list and filters out
78. l The update command changes the configuration of a specific entity Table 4 1 shows the parameters that can be changed for each entity If you try to change an immutable parameter in an entity that is enabled you will receive an error message To change an immutable parameter you must disable the fed eration service entity change the parameter and then enable the federation service entity again 4 7 UOHDISIUIWUpPY jow y 7 Administering Federation Service from a Remote Location Table 4 1 Changeable Parameters Entity Mutable changeable any time Immutable only changeable when entity is disabled lt monitoring gt lt enabled gt lt monitoring gt lt status_publication_period gt lt monitoring gt lt statistics_sampling_period gt lt monitoring gt lt historical_statistics gt PI lt itoring gt lt d in_id gt A lt entity_monitoring gt lt enabled gt monitoring gt lt domain_i i 4 ion Erani ed lt entit itoring gt lt statisti i iod gt Servi lt entity_monitoring gt lt status_publication_period gt enitity_monitoring gt lt statistics sampling perio SEVISE a lt entity_monitoring gt lt historical_statistics gt lt administration gt lt save_path gt bot lt administration gt lt administration gt lt autosave_on_update gt lt all except save_path and autosave_on_update gt lt participant_x gt Mutable QoS policies in lt participant_qo
79. l reaches the maximum the low level send command of the transport will fail at that point Connext will take the appropriate action retry to send or drop it according to the application s QoS if the transport is used for reliable communication the data will still be sent eventually Configuring the TCP Transport Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description control_buffer_allocation Allocation settings applied to buffers used to serialize and send control messages These settings configure the initial number of buffers the maximum number of buf fers and the buffers to be allocated when more buffers are needed Default J control_buffer_allocation initial_count 2 LJ control_buffer_allocation max_count 1 unlimited L control_buffer_allocation incremental_count 1 number of buffers will keep doubling on each allocation until it reaches max_count control_message_ allocation Allocation settings applied to control messages These settings configure the initial number of messages the maximum number of messages and the messages to be allocated when more messages are needed Default LJ control_message_allocation initial_count 2 J control_message_allocation max_count 1 unlimited L control_message_allocation incremental_count 1 number of messages will keep d
80. lized samples The protocol headers UDP RTPS are not included output_samples_per_s Statistic variable that provides information about the output samples per second across topic routes Output samples refer to the samples that are published out by the session thread using the auto topic route s DataWriters output_bytes_per_s Statistic variable that provides information about the output bytes per second across topic routes Output bytes refer to the bytes that are published out by the ses sion thread using the auto topic route s DataWriters The vari able only considers the bytes of the serialized samples Protocol headers UDP RTPS are not included latency_s Statistic variable that provides information about the latency in seconds across topic routes The latency in a route refers to the time elapsed between the sample read and write Chapter 6 Traversing Wide Area Networks Many systems today already rely on Connext to distribute their information across a Local Area Network LAN However more and more of these systems are being inte grated in Wide Area Networks WANs With Federation Service you can scale Connext applications beyond the current local networks and make it available throughout a WAN Out of the box Federation Service only uses UDPv4 and Shared Memory transports to communicate with other Federation Services and Connext applications This configuration is appropriate for
81. lt domain_id gt 1 lt domain_id gt lt participant_2 gt lt session name Session gt lt topic_route name SquaresRoute enabled false gt lt input participant 1 gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Square lt topic_name gt lt input gt lt output gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Square lt topic_name gt lt output gt lt topic_route gt lt session gt lt domain_route gt lt federation_service gt lt dds gt When an entity is created disabled it can be enabled remotely using the commands enable Section 4 2 5 and disable Section 4 2 4 2 37 uolpINByuoD Z Configuring Federation Service A federation_service can be created disabled by setting the attribute enabled to false or by using the noAutoEnable command line option The command line parameter takes precedence over the XML attribute value 2 38 Chapter 3 Running Federation Service 3 1 3 2 This chapter describes I Starting Federation Service Section 3 1 L Stopping Federation Service Section 3 2 Starting Federation Service Federation Service runs as a separate application The script to run the executable is located in lt Federation Service installation directory gt scripts To start Federation Service enter cd lt installation directory for Federation Service gt scripts rtifederationservice optio
82. mak ing it impossible for external peers to connect to this node In this case the node is con sidered unreachable and will communicate only using the asynchronous mode with other reachable peers For WAN communication this port must be forwarded to a public port in the NAT enabled router that connects to the outer network Default 7400 read_buffer_allocation Allocation settings applied to read buffers These settings configure the initial number of buffers the maximum number of buffers and the buffers to be allocated when more buffers are needed Default LJ read_buffer_allocation initial_count 2 LJ read_buffer_allocation max_count 1 unlimited I read_buffer_allocation incremental_count 1 number of buffers will keep doubling on each allocation until it reaches max_count write_buffer_allocation Allocation settings applied to buffers used for an asynchronous non blocking write These settings configure the initial number of buffers the maximum number of buf fers and the buffers to be allocated when more buffers are needed Default L write _buffer_allocation initial_count 4 LJ write_buffer_allocation max_count 1000 J write_buffer_allocation incremental_count 10 Note that for the write buffer pool the max_count is not set to unlimited This is to avoid having a fast writer quickly exhaust all the available system memory in case of a temporary network slowdown When this write buffer poo
83. n its domain ON_ROUTE_MATCH The federation service DataReader DataWriter is not created until its counterpart in the topic route is created ON_DOMAIN_AND_ROUTE_MATCH Both conditions must be true ON_DOMAIN_OR_ROUTE_MATCH At least one of the conditions must be true 2 30 Topic Route Destruction The same rules that are applied to create the federation service DataWriter and DataReader also apply to their destruction When the condition that triggered the cre ation of that entity becomes false the entity is destroyed Note that IMMEDIATE will never become false XML Tags for Configuring Federation Service For example if the creation mode of a topic route s lt input gt tag is ON_DOMAIN_MATCH when all the matching user DataWriters are deleted the topic route s DataReader is deleted Example 1 In this example data is routed as soon as a user DataWriter is publishing it on the first domain lt topic_route gt lt input participant 1 gt lt creation_mode gt ON_DOMAIN_MATCH lt creation_mode gt lt input gt lt output gt lt creation_mode gt ON_ROUTE_MATCH lt creation_mode gt lt output gt lt topic_route gt Example 2 In this example data is not routed until a user DataWriter is publishing and a user DataReader is already expecting it lt topic_route gt lt input participant 1 gt lt creation_mode gt ON_DOMAIN_AND_ROUTE_MATCH lt creation_mode gt lt input gt
84. name string lt ENTITY_NAME MAX LENGTH gt host_name long host_id long app_id FederationServiceAdministrationData administration tae Table 5 1 on page 5 4 describes the members of the FederationServiceData data type 5 3 UOlID907 eJowWeY D WO BUNOPUOWN S Monitoring Federation Service from a Remote Location Table 5 1 5 2 2 5 4 FederationServiceData Field Name Key Description Name of the federation service instance The name associated with the federation service instance can be assigned explicitly using the command line parameter app name V Name If appName is not used the lt federation_service gt tag name provided with cfgName is used If you use identifyExe cution the host name and process ID are appended to the name For example RTI_FederationService_myhost_1234 Name of the group to which the federation service belongs Federation services in the same group will not communicate with each other group name The group name is assigned using the attribute group_name in the lt federation_service gt tag If the attribute is not defined the group name is automatically set to RTI_FederationService_ lt Host Name gt _ lt Process ID gt host_name Name of the host where the federation service is running host id Identifies the host where the federation service instance is run g ning app_id Process task ID of the federation servi
85. ns Example cd lt installation directory for Federation Service gt scripts rtifederationservice cfgFile example shapes topic_bridge xml cfgName example Table 3 1 describes the command line options Stopping Federation Service To stop Federation Service press Ctrl c Federation Service will perform a clean shutdown 3 1 DIAIOS UOHDI pP J 6Buluuny e Running Federation Service Table 3 1 Federation Service Command line Options Option Description appName lt name gt Assigns a name to the execution of Federation Service Remote commands and status information will refer to the ser vice using this name See the Federation Service User s Manual for more information In addition the name of DomainParticipants created by Federation Service will be based on this name Default The name given with cfgName if present otherwise it is RTI_Federation_Service cfgName This name is used to find the matching lt federation_service gt tag in the configuration file It is required unless both remoteAd ministrationDomainId and noAutoStart are used in which case no configuration is loaded at start up and Federation Service will simply wait to be configured remotely domainIdBase lt ID gt Sets the base domain ID This value is added to the domain IDs in the configuration file For example if you set domainIdBase to 50 and use domain IDs 0 and 1 in the configuration
86. ntents of this tag are specified in the same manner as a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual If not specified the default is used You can use a lt participant_qos gt tag inside a library profile previ ously defined in your configuration file by referring to it like this lt participant_qos base_name MyLibrary MyProfile gt lt participant_qos gt To use that profile but override just some values Oorl 2 4 4 Monitoring You can create a Connext application that can remotely monitor the status of Federation Service To enable remote monitoring and configure its behavior use the lt monitoring gt and lt entity_monitoring gt tags By default remote monitoring is turned off in Federation Service for security and perfor mance reasons A remote monitoring section is not required in the configuration file For more details please see Chapter 5 Monitoring Federation Service from a Remote Loca tion 2 12 XML Tags for Configuring Federation Service Table 2 5 Remote Administration Tags Tags within lt administration gt Description Number of Tags Allowed lt domain_id gt Specifies the domain ID that Federation Service will use to enable remote administration 1 Required lt participant_qos gt Configures the DomainParticipant QoS for remote administration If the tag is not defined Federation Service will use the Connext
87. ocal traffic via this plugin The plugin will use and report the IP loopback interface only if there are no other network interfaces NICs up on the system 1 Disable local traffic via this plugin This means do not use the IP loopback inter face even if no NICs are discovered This setting is useful when you want appli cations running on the same node to use a more efficient plugin like shared memory instead of the IP loopback Default 1 ignore_nonrunning_ interfaces Prevents the transport plugin from using a network interface that is not reported as RUNNING by the operating system The transport checks the flags reported by the operating system for each network interface upon initialization An interface which is not reported as UP will not be used This property allows the same check to be extended to the IFF_RUNNING flag imple mented by some operating systems The RUNNING flag means that all resources are allocated and may be off if no link is detected e g the network cable is unplugged Two values are allowed 0 Do not check the RUNNING flag when enumerating interfaces just make sure the interface is UP 1 Check the flag when enumerating interfaces and ignore those that are not reported as RUNNING This can be used on some operating systems to cause the transport to ignore interfaces that are enabled but not connected to the network Default 1 Configuring the TCP Transport Table 6 1 TCP TLS
88. os gt eh ch y lt creation_mode gt lt propagate_dispose propag i eee i lt allow_topic_name_filter gt lt propagate_unregister gt Auto P pi 5 8 lt allow_registered_type_name_filter gt Topic lt publish_with_original_info gt has f lt deny_topic_name_filter gt lt publish_with_original_timestamp gt Route publish_with_original_timestamp 4 8 lt content_filter gt lt parameter gt lt entity_monitoring gt lt enabled gt lt entity_monitoring gt lt status_publication_period gt lt deny_registered_type_name_filter gt lt content_filter gt lt expression gt lt entity_monitoring gt lt statistics_sampling_period gt lt entity_monitoring gt lt historical_statistics gt Remote Commands 1 Monitoring parameters can also be changed when monitoring is disabled even when the entity is enabled You can send an XML snippet or an assignment expression that only contains the val ues you want to change for that entity or you can send a whole well formed configura tion file I If you send an XML snippet or an assignment expression only the changes you specify will take effect For example suppose you send this command update ShapeRouter DomainRoutel Session1 SquareRoute str lt topic_route gt lt input gt lt datareader_qos gt lt deadline gt lt period gt lt sec gt 1 lt sec gt lt period gt lt deadline gt lt datareader_qos gt lt input gt lt topic_route gt o
89. other participants on the same LAN using UDP and Shared Memory transports participant_2 will communi cate with other participants in different LANs using the TCP transport lt dds gt lt federation_service name MyFederationService gt lt domain_route name MyDomainRoute gt lt participant_1 gt lt domain_id gt 56 lt domain_id gt lt participant_1 gt lt participant_2 gt lt domain_id gt 57 lt domain_id gt lt participant_qos gt lt transport_builtin gt lt mask gt MASK_NONE lt mask gt lt transport_builtin gt lt property gt lt value gt lt element gt lt name gt dds transport load_plugins lt name gt lt value gt dds transport TCPv4 tcp1l lt value gt lt element gt lt element gt lt name gt dds transport TCPv4 tcp1 library lt name gt lt value gt libnddstransporttcp so lt value gt lt element gt lt element gt lt name gt dds transport TCPv4 tcp1l create_function lt name gt lt value gt NDDS_Transport_TCPv4_create lt value gt lt element gt Configuring the TCP Transport lt element gt lt name gt dds transport TCPv4 tcpl parent classid lt name gt lt value gt NDDS_TRANSPORT_CLASSID_TCPV4_WAN lt value gt lt element gt lt element gt lt name gt dds transport TCPv4 tcpl1 public_address lt name gt lt value gt 18 181 0 31 8400 lt value gt lt element gt lt element gt lt name gt dds transport TCPv4 tcpl server_bind_port lt name gt
90. oubling on each allocation until it reaches max_count control_attribute_ allocation Allocation settings applied to control messages attributes These settings configure the initial number of attributes the maximum number of attributes and the attributes to be allocated when more attributes are needed Default LJ control_attribute_allocation initial_count 2 J control_attribute_allocation max_count 1 unlimited J control_attribute_allocation incremental_count 1 number of attributes will keep doubling on each allocation until it reaches max_count 6 15 SOMJON Dely PIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description Forces an asynchronous send When this parameter is set to 0 the TCP transport will force_asynchronous_ send attempt to send data as soon as the internal send function is called When it is set to 1 the transport will make a copy of the data to send and enqueue it in an internal send buffer Data will be sent as soon as the low level socket buffer has space Normally setting it to 1 delivers better throughput in a fast network but will result in a longer time to recover from various TCP error conditions Setting it to 0 may cause the low level send function to block until the data is physically delive
91. per second across topic routes Input bytes refer to the bytes that are taken by the sessions from the topic routes s DataReaders These bytes only refer to the serialized samples The protocol headers UDP RTPS are not included output_samples_per_s Statistic variable that provides information about the output samples per second across topic routes Output samples refer to the samples that are published out by the session thread using the topic route s DataWriters output_bytes_per_s Statistic variable that provides information about the output bytes per second across topic routes Output bytes refer to the bytes that are published out by the ses sion thread using the topic route s DataWriters The variable only considers the bytes of the serialized samples Protocol headers UDP RTPS are not included latency_s Statistic variable that provides information about the latency in seconds across topic routes The latency in a topic route refers to the time elapsed between the sample read and write 5 3 5 Status Information for a Topic Route The topic that publishes route status is called rti federation_service monitoring route_status_set The IDL definition of the data type is 5 2 UOIND07 ejowey D WO BULO UOW S Monitoring Federation Service from a Remote Location struct RouteStatusSet string lt ENTITY_NAM TY_NAM rY NAMI string lt ENTI1 string lt ENTI1
92. pic_route gt lt output gt output deny_registered_ type_name_filter Topics with types that pass this filter in the output participant will not trigger the creation of routes The output deny registered type name filter is configured using the tag lt deny_registered_type_name_filter gt inside lt auto_topic_route gt lt output gt input creation_mode Indicates when the DataReader is created in the input The input creation mode is lt creation_mode gt configured using the tag output creation_mode Indicates when the DataWriter in created in the output The output creation mode is lt creation_mode gt configured using the tag input dds_data Contains the configuration of the auto topic route s input that is spe cific to Connext output dds_data Contains the configuration of the auto_topic route s output that is specific to Connext input dds_data domain_id Domain ID of the input participant output dds_data domain_id Domain ID of the output participant input dds_data content_filter_expression Content filter expression associated with the content filter for the topic route DataReader The expression is configured using the tag lt content_filter gt lt expres sion gt inside lt topic_route gt lt input gt 5 14 Monitoring Status Table 5 5 AutoRouteData Field Name Key Description propagate_dispose Indicates if th
93. ppended to this file If a private key is not appended to this file then either private_key or private_key_file is required Either certificate_chain or certificate_chain_file is required You must set exactly ONE of these Do not set both of them this would produce a configuration error A string that specifies the password for private key tls identity private_key A string containing a private key in PEM format Either private_key or private_key_file may be specified Do not set both of them this would produce a configuration error If both are unspecified NULL the private key must be appended to the certificate chain file tls identity ptivate_key_file A string that specifies the name of a file containing a private key in PEM format Either private_key or private_key_file may be specified Do not set both of them this would produce a configuration error If both are unspecified NULL the private key must be appended to the certificate chain file 1 Assuming you used dds transport TCPv4 tcp1 as the alias to load the plugin If not change the prefix to match the string used with dds transport load_plugins 6 20
94. r update ShapeRouter DomainRoutel Sessionl SquareRoute topic_route input datareader_gos deadline period sec 1 The topic route DomainRoute1 Session1 SquareRoute will only change the period value in the Deadline QoS for that particular DataReader Now suppose that later on you send this command update ShapeRouter DomainRoutel Sessionl SquareRoute str lt topic_route gt lt input gt lt datareader_qos gt lt property gt lt value gt lt element gt lt name gt MyProp lt name gt lt value gt MyValueRemote lt value gt lt element gt lt value gt lt property gt lt datareader_qos gt lt input gt lt topic_route gt This would only change the Property QoS the Deadline QoS would keep the set ting from the prior command LJ If you send a well formed configuration file starting with lt dds gt lt federation_service gt the properties in the route QoS values in the topic route will be completely replaced with the properties QoS values defined in the XML code If a QoS value for a topic route is not defined in the XML code Federation Service will use the Connext default 4 9 UOHDISIUIWUpPY jow y 7 Administering Federation Service from a Remote Location 4 3 Accessing Federation Service from Connext Applications You can send commands to control a Federation Service instance from your own Connext application You will need to create a DataWriter for a specific topic and type Then you can s
95. re information about entity data and status see Chapter 5 Monitoring Federa tion Service from a Remote Location When remote monitoring is enabled Federation Service will create one DomainPartici pant one Publisher five DataWriters for data publication one for each kind of entity and five DataWriters for status publication one for each kind of entity You can config XML Tags for Configuring Federation Service 2 4 4 1 ure the QoS of these entities with the lt monitoring gt tag defined under lt federation_service gt The general remote monitoring parameters specified using the lt monitoring gt tag in lt federation_service gt except domain_id participant_qos publisher_qos and datawriter_qos can be overwritten on a per entity basis using the lt entity_monitoring gt tag For example lt dds gt lt federation_service gt lt monitoring gt lt domain_id gt 55 lt domain_id gt lt status_publication_period gt lt sec gt 1 lt sec gt lt status_publication_period gt lt monitoring gt lt domain_route gt lt entity_monitoring gt lt status_publication_period gt lt sec gt 4 lt sec gt lt status_publication_period gt lt entity_monitoring gt lt domain_route gt lt federation_service gt lt dds gt Table 2 6 lists the tags allowed within lt monitoring gt tag Monitoring Configuration Inheritance The monitoring configuration defined in lt federation_service gt is inheri
96. reation of topic routes This filter is configured using the tag lt allow_topic_name_filter gt inside lt auto_topic_route gt lt output gt output allow_registered_ type_name_filter Topics with types that do not pass this filter in the output participant will not trigger the creation of topic routes This filter is configured using the tag lt allow_registered_type_name_filter gt inside lt auto_topic_route gt lt output gt input deny_topic_name_ filter Topics that pass this filter in the input participant will not trigger the creation of topic routes This filter is configured using the tag lt deny_topic_name_filter gt inside lt auto_topic_route gt lt input gt 5 13 UOIJDD07 jow y D WO BUNOPUON S Monitoring Federation Service from a Remote Location Table 5 5 AutoRouteData Field Name Key Description input deny_registered_ type_name_filter Topics with types that pass this filter in the input participant will not trigger the creation of topic routes The input deny registered type name filter is configured using the tag lt deny_registered_type_name_filter gt inside lt auto_topic_route gt lt input gt output deny_topic_name_ filter Topics that pass this filter in the output participant will not trigger the creation of topic routes The output deny topic name filter is configured using the tag lt deny_topic_name_filter gt inside lt auto_to
97. red Enables and configures remote monitoring for the domain lt entity_monitoring gt route See Monitoring Section 2 4 4 and Chapter 5 Monitor 0 or 1 ing Federation Service from a Remote Location 2 4 3 Table 2 4 lists the tags allowed within lt participant_1 gt and lt participant_2 gt tags Administration You can create a Connext application that can remotely control Federation Service The lt administration gt tag is used to enable remote administration and configure its behav ior By default remote administration is turned off in Federation Service for security reasons A remote administration section is not required in the configuration file For example lt dds gt lt federation_service gt lt administration gt lt domain_id gt 55 lt domain_id gt lt save_path gt home david mysaved_config xml lt save_path gt lt administration gt lt federation_service gt lt dds gt When remote administration is enabled Federation Service will create a DomainPartici pant Publisher Subscriber DataWriter and DataReader These entities are used to receive commands and send responses You can configure these entities with QoS tags within the lt administration gt tag Table 2 5 lists the tags allowed within lt administration gt tag For more details please see Chapter 4 Administering Federation Service from a Remote Location Note The command line options used to configure remo
98. red to the lower socket buffer For an application writing data at a very fast rate it may cause the caller thread to block if the send socket buffer is full This could produce lower throughput in those conditions the caller thread could prepare the next packet while waiting for the send socket buffer to become available Default 0 max_packet_size The maximum size of a TCP segment This parameter is only supported on Linux architectures By default the maximum size of a TCP segment is based on the network MTU for des tinations on a local network or on a default 576 for destinations on non local net works This behavior can be changed by setting this parameter to a value between 1 and 65535 Default 1 default behavior enable_keep_alive Configures the sending of KEEP_ALIVE messages in TCP Setting this value to 1 causes a KEEP_ALIVE packet to be sent to the remote peer if a long time passes with no other data sent or received This feature is implemented only on architectures that provide a low level implemen tation of the TCP keep alive feature On Windows systems the TCP keep alive feature can be globally enabled through the system s registry HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Tcpip Parameters Refer to MSDN documentation for more details On Solaris systems most of the TCP keep alive parameters can be changed though the kernel properties Default 0 Configuring the TCP Transpo
99. rt Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description keep_alive_time Specifies the interval of inactivity in seconds that causes TCP to generate a KEEP_ALIVE message This parameter is only supported on Linux architectures Default 1 OS default value keep_alive_interval Specifies the interval in seconds between KEEP_ALIVE retries This parameter is only supported on Linux architectures Default 1 OS default value keep_alive_retry_count The maximum number of KEEP_ALIVE retries before dropping the connection This parameter is only supported on Linux architectures Default 1 OS default value disable_nagle Disables the TCP nagle algorithm When this property is set to 1 TCP segments are always sent as soon as possible which may result in poor network utilization Default 0 SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description Bitmap that specifies the verbosity of log messages from the transport Logging values 1 Oxffffffff do not change the current verbosity LJ 0x00 silence LJ 0x01 errors LJ 0x02 warnings LJ 0x04 local LJ 0x08 remote
100. s gt Immutable QoS policies in Domain lt participant_qos gt lt participant_qos gt route lt entity_monitoring gt lt enabled gt lt entity_monitoring gt lt statistics_sampling_period gt lt entity_monitoring gt lt status_publication_period gt lt entity_monitoring gt lt historical_statistics gt Mutable QoS policies in lt publisher_qos gt and Immutable QoS policies in lt publisher_qos gt and S lt subscriber_qos gt lt subscriber_qos gt CFO lt entity_monitoring gt lt enabled gt lt entity_monitoring gt lt statistics_sampling_period gt lt entity_monitoring gt lt status_publication_period gt lt entity_monitoring gt lt historical_statistics gt Mutable QoS policies in lt datawriter_qos gt and lt datareader_qos gt lt route_types gt Immutable QoS policies in lt datawriter_qos gt and lt propagate_dispose gt lt datareader_qos gt Topic lt publish_with_original_timestamp gt lt creation_mode gt Route lt propagate_unregister gt lt content_filter gt lt expression gt lt publish_with_original_info gt lt entity_monitoring gt lt statistics_sampling_period gt lt content_filter gt lt parameter gt lt entity_monitoring gt lt historical_statistics gt lt entity_monitoring gt lt enabled gt lt entity_monitoring gt lt status_publication_period gt 5 a d Immutable QoS policies in lt datawriter_qos gt and Mutable QoS policies in lt datawriter_qos gt an lt datareader_qos gt lt datareader_q
101. scenarios that go from simple communication within a single LAN to complex communication scenarios across LANs where NATs and firewalls may be involved 6 1 1 Communication Within a Single LAN TCP transport can be used as an alternative to UDPv4 to communicate Connext applica tions running inside the same LAN Figure 6 2 shows how to configure the TCP transport in this scenario parent classid transport_mode and server_bind_port are transport properties config ured using the PropertyQosPolicy of the participant 6 2 TCP Communication Scenarios Initial Peers represents the peers to which the participant will be announced to Usu ally these peers are configured using the DiscoveryQosPolicy of the participant or the environment variable NDDS_DISCOVERY_PEERS For information on the format of initial peers see Section 6 2 1 Figure 6 2 Communication within a Single LAN parent classid NDDS_TRANSPORT_ CLASSID_TCPV4_LAN Participant TCPv4 Transport Participant TCPv4 Transport IP address 192 168 1 11 IP address 192 168 1 12 server_bind_port 7400 Initial Peers 192 168 1 12 7400 Symmetric Communication Across NATs In NAT communication scenarios each one of the LANs has a private IP address space The communication with other LANs is done through NAT routers that translate pri vate IP addresses and ports into public IP addresses and ports In symmetric comm
102. ss Required for WAN communication Public IP address and port WAN address and port associated with the transport instantiation The address and port must be separated with For example 10 10 9 10 4567 This field is only used when parent classid is NDDS_TRANSPORT_CLASSID_TCPV4_WAN or NDDS_TRANSPORT_CLASSID_TLSV4_WAN The public address and port are necessary to support communication over a WAN that involves Network Address Translators NATs Typically the address is the public address of the IP router that provides access to the WAN The port is the IP router port that is used to reach the private server_bind_port inside the LAN from the outside This value is expressed as a string in the form ip port where ip represents the IPv4 address and port is the external port number of the router Note that host names are not allowed in the public_address because they may resolve to an internet address that is not what you want i e localhost may map to your local IP or to 127 0 0 1 SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks Table 6 1 TCP TLS Transport Properties over LAN or WAN NDDS_Transport_TCPv4_Property_t Property Name prefix with dds transport TCPv4 tcp1 Description server_bind_port Private IP port inside the LAN used by the transport to accept TCP connections If this property is set to zero the transport will disable the internal server socket
103. ssssrssssssrsttsstetstestesstsrteestenttnsstenteessten te 5 7 5 2 5 Configuration Data for an Auto Topic Route ss ssssssssssssssisseestessessentesresnesnsneenees 5 11 9 3 Monitoring Status 2si 20 istsvshsstasiveytes staseide ianrseateie tinea a e r Anaa iaat 5 15 5 3 1 How the Statistics are Generated cccccccccsccssecessecsscecsecesecessecesscesssesseceseecseeeaseeses 5 16 5 3 2 Status Information for the Federation Service c ccccccsscessseesseesecessecescecsseeeseceseeees 5 17 5 3 3 Demain Route Status nenie oeeie oie e ales Aaa AUS el een Mane 5 18 5 3 4 Status Information for a Session ccccccececsecesscesseecsseesecessececseceseecsscecseceseesaeceseees 5 20 5 3 5 Status Information for a Topic Route cece nenseseeneneneneseeeneneseenees 5 21 5 3 6 Status Information for an Auto Route 0 ccccccccccssecessceescessecescecsseeesscessecssesenseeees 5 23 6 Traversing Wide Area Networks 6 1 TCP Communication Scenarios ccccccccsssccessscecsssececsseecessececsssecesaecesessecesssecesaeeecsseeceseeecesaees 6 2 6 1 1 Communication Within a Single LAN ccesseeesesenesseesesereeesesesceeeeseeeees 6 2 6 1 2 Symmetric Communication Across NATS ccccccesesecsseseeesetesessessecsssseeseeseeeneeeeees 6 3 6 1 3 Asymmetric Communication Across NATS ccccsecsesesseseeeteseeseseeenseseeseeseeeneeeeees 6 5 6 1 4 Secure COMMUNICATION ccccccccessccenecceenscccenassessneecensscessnacecscaecensacecenaecessnessnans
104. ster messages Default true Enables and configures remote monitoring for the auto topic lt monitoring gt route See Monitoring Section 2 4 4 and Chapter 5 Monitoring 0 or 1 Federation Service from a Remote Location Table 2 13 Input and Output Tags for the lt auto_topic_route gt Tag Tags within Tags within aed Number Description of Tags lt input gt lt output gt Allowed The topic routes are created with this configura lt creation_mode gt tion See Creation Modes Controlling When a Oor1 Topic Route is Created Section 2 4 6 4 2 34 XML Tags for Configuring Federation Service Table 2 13 Input and Output Tags for the lt auto_topic_route gt Tag Tags within lt input gt Tags within lt output gt Description Number of Tags Allowed lt content_filter gt N A The topic routes are created with a SQL content fil ter topic with this expression lt auto_topic_route gt lt input gt lt content_filter gt lt expression gt x amp gt 100 lt expression gt lt content_filter gt lt input gt lt auto_topic_route gt Oorl lt datareader_qos gt lt datawriter_qos gt The topic routes are created with this configura tion The contents of this tag are specified in the same manner as for a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual If the tag is not defined Federation Service will use the Connext d
105. t value lt tag gt is the same as lt tag gt value lt tag gt LJ All values are case sensitive unless otherwise stated J Comments are enclosed as follows lt comment gt I The root tag of the configuration file must be lt dds gt and end with lt dds gt 2 3 uolOINByuoD Z Configuring Federation Service Figure 2 1 Example XML Configuration File lt xml version 1 0 gt lt dds gt lt federation_service name BridgeExample group_name MyGroup gt lt domain_route name DomainRoute gt lt participant_1 gt lt domain_id gt 0 lt domain_id gt lt participant_1 gt lt participant_2 gt lt domain_id gt 1 lt domain_id gt lt participant_2 gt lt session name Session gt lt topic_route name SquaresBridge gt lt input participant 1 gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Square lt topic_name gt lt input gt lt output gt lt registered_type_name gt ShapeType lt registered_type_name gt lt topic_name gt Square lt topic_name gt lt output gt lt topic_route gt lt session gt lt domain_route gt lt federation_service gt lt dds gt Det las A es a simple bridge from domain 0 to domain 1 for Squares You will find this example in lt Federation Service installation directory gt example shapes topic_bridge xml Additional examples are in the same directory Federation Service provides DTD and XSD files that
106. t gt tags contains the registered type name of the topic The actual definition of that type can be set in the con figuration file see Section 2 4 6 2 or it can be discovered from an entity on the domain route s domains see Section 2 4 6 3 2 26 XML Tags for Configuring Federation Service Table 2 10 Input and Output Tags for a Topic Route Tags within lt topic_route gt lt input gt Tags within lt topic_route gt lt output gt Description Number of Tags Allowed lt registered_type_name gt Sets the registered type name of this topic See Topic Route Types Section 2 4 6 1 1 required lt topic_name gt Sets the topic name 1 required lt creation_mode gt Specifies when to create the DataReader DataWriter Default IMMEDIATE See Creation Modes Controlling When a Topic Route is Created Section 2 4 6 4 Oorl lt content_filter gt N A Defines a SQL content filter for the DataReader Example lt topic_route gt lt input gt lt content_filter gt lt expression gt x amp gt 100 lt expression gt lt content_filter gt lt input gt lt topic_route gt Oorl lt datareader_qos gt lt datawriter_qos gt Sets the DataReader or DataWriter QoS The contents of this tag are specified in the same manner as a Connext QoS profile file see Chapter 15 in the RTI Core Libraries and Utilities User s Manual If the t
107. te A domain route defines a mapping between two spe cific domains Data published in either of these edomalntroute domains can be routed to the other one A domain route creates two participants known as participant_1 and participant_2 Each participant lt participant_1 gt belongs to one of two specified domains lt domain_id gt For example lt dds gt lt federation_service name Router1 group_name Group1 gt lt domain_route name DomainRoutel gt lt participant_1 gt lt domain_id gt 54 lt domain_id gt lt participant_1 gt lt participant_2 gt lt participant_2 gt AA E lt domain_id gt 55 lt domain_id gt T lt participant_2 gt lt session name Session gt lt session gt lt domain_route gt lt federation_service gt lt dds gt Table 2 3 lists the tags allowed within a lt domain_route gt tag Table 2 3 Domain Route Tags Tags within Description Number of lt domain_route gt P Tags Allowed lt participant_1 gt Configures the first participant See Table 2 4 1 required lt participant_2 gt Configures the second participant See Table 2 4 1 required 2 9 uolOINByuoD Z Configuring Federation Service Table 2 3 Domain Route Tags Tags within Number of lt domain_route gt Description Tags Allowed lt session gt Defines a single threaded context in which data is routed 1 or more according to specified topic routes See Session Section 2 4 5 requi
108. te administration take prece dence over the XML configuration see Table 3 1 in the Getting Started Guide XML Tags for Configuring Federation Service Table 2 4 Participant Tags Tags within lt participant_1 2 gt Description lt domain_id gt Sets the domain ID associated with the participant Number of Tags Allowed 1 required lt memory_ management gt Configures certain aspects of how Connext allocates internal memory The configuration is per domain_route s participant and therefore affects all the contained DataReaders and DataWriters For example lt domain_route name test gt lt participant_1 gt lt domain_id gt 0 lt domain_id gt lt memory_management gt lt sample_buffer_min_size gt X lt sample_buffer_min_size gt lt sample_buffer_trim_to_size gt true lt sample_buffer_trim_to_size gt lt memory_management gt lt participant_1 gt The lt memory_management gt tag can include the following tags J sample_buffer_min_size For all DataReaders DataWriters the way Connext allocates memory for samples is as follows Connext pre allocates space for samples up to size X in the reader and writer queues If a sample has an actual size greater than X the memory is allocated dynamically for that sample The default size is DDS_LENGTH_UNLIMITED meaning no dynamic memory is used the maximum sample size is pre allocated L sample_buffer_trim_to_size If
109. ted by all the entities defined inside the tag An entity can overwrite three elements of the monitoring configuration e The status publication period e The statistics sampling period e The historical statistics windows Each one of this three elements is inherited and can be overwritten independently using the lt entity_monitoring gt tag For example 2 15 uolOINByuoD Z Configuring Federation Service Table 2 6 Monitoring tags lt domain_id gt lt entity_monitoring gt tags Setting this tag to false in the lt monitoring gt tag under lt federation_service gt disables monitoring in all the Federation Service entities In this case any monitoring configuration settings in the entities are ignored Specifies which domain ID Federation Service will use to enable remote monitoring Tags within Description Number of lt monitoring gt P Tags Allowed Enables disables general remote monitoring Setting this value to true default value in the lt moni toring gt tag under lt federation_service gt enables moni toring in all the entities unless they explicitly disable it sensed by setting this tag to false in their local Dorl 1 required lt participant_qos gt Configures the DomainParticipant QoS for remote monitoring If the tag is not defined Federation Service will use the Connext defaults with the following change resource_limits type_code_max_serialized_length 4096 Oorl
110. tered_type_name gt lt input gt lt output gt lt creation_mode gt IMMEDIATE lt creation_mode gt 2 29 uolOINByuoD zZ Configuring Federation Service 2 4 6 4 Table 2 11 lt registered_type_name gt ShapeType lt registered_type_name gt lt output gt lt topic_route gt Creation Modes Controlling When a Topic Route is Created The way a topic route creates its DataReader and DataWriter and starts reading and writing data can be configured The lt creation_mode gt tag in a topic route s lt input gt and lt output gt tags controls when the federation service DataReader DataWriter is created Table 2 11 lists the possible values for the lt creation_mode gt tag Creation Modes lt creation_mode gt Values Description IMMEDIATE default The federation service DataReader DataWriter is created as soon as possible that is as soon as the types are available Note that if the type is defined in the configuration file the cre ation will occur when the federation service starts If the type is not defined in the configuration file it has to be discovered see Discovering Types Section 2 4 6 3 ON_DOMAIN_MATCH The federation service DataReader is not created until the fed eration service discovers a user DataWriter on the same topic in its domain The federation service DataWriter is not created until the fed eration service discovers a user DataReader on the same topic i
111. th 4 2e is required and the topic data types contain double long long unsigned long long or long double members Default disabled 3 3 ODIAIOS UOIOJEpe4 6uiuuny e Running Federation Service Table 3 1 Federation Service Command line Options Option Description verbosity lt n gt version Controls what type of messages are logged 0 Silent 1 Exceptions Core Libraries and Federation Service default 2 Warnings Federation Service 3 Information Federation Service 4 Warnings Core Libraries and Federation Service 5 Tracing Federation Service 6 Tracing Core Libraries and Federation Service Each verbosity level n includes all the verbosity levels smaller than n Prints the Federation Service version number 3 4 Chapter 4 Administering Federation Service from 4 1 a Remote Location Federation Service can be controlled remotely by sending commands through a special Topic Any Connext application can be implemented to send these commands and receive the corresponding responses A shell application that sends receives these com mands is provided with Federation Service The script for the shell application is in lt Federation Service installation directory gt scripts rtifssh Entering rtifssh help will show you the command line options RTI Federation Service Shell Usage rtifssh options Options domainId lt integer gt Domain id
112. ume resume lt target_federation_service gt lt entity_name gt When the resume command is called in a route the session thread containing this route will continue reading data from the topic route s DataReader For federation service domain routes and auto topic routes the execution of this com mand will resume the contained topic routes save save lt target_federation_service gt This command writes the current configuration to a file The file itself is specified with lt save_path gt see page 2 17 If lt save_path gt has not been specified the save command will fail If the file specified by lt save_path gt already exists the file will be overwritten The saved configuration is functionally equivalent to the loaded XML file plus any updates either from an update command or other remote commands that change the configuration such as add_peer However it may not be textually equivalent For exam ple the saved XML configuration may explicitly contain default values that were not in the initial XML unload unload lt target_federation_service gt The unload command unloads the current configuration that the target_federation_service is using so you can change it with a subsequent load Section 4 2 6 command The target_federation_service must be disabled for this command to succeed update update lt target_federation_service gt lt entity_name gt lt xml_url gt lt assignment_expr gt remote loca
113. unication scenarios any instance of Federation Service can initiate TCP connections with other federation services Figure 6 3 shows how to configure the TCP transport in this scenario Notice that initial peers refer to the public address of the Federation Service instances and not the LAN address In addition the transport associated with a Federation Service instance will have to be configured with its public_address so that this information can be propagated as part of the discovery process Because the public address and port of the Federation Service instances must be known before the communication is established the NAT Routers will have to be configured statically to translate forward the private server_bind_port into a public port This process is known as static NAT or port forwarding and it allows traffic originating in outer networks to reach designated peers in the LAN behind the NAT router 6 3 SOMJON Dely pIM UISI ADI 9 Traversing Wide Area Networks Figure 6 3 Symmetric Communication across NATs parent classid i NDDS_TRANSPORT_ 4 Transport CLASSID_TCPV4_WAN public_address 18 181 0 31 8400 IP address 192 168 1 11 I a server_bind_port 7400 Initial Peers 18 181 0 32 8500 Connection parent classid NDDS_TRANSPORT_ CLASSID_TCPV4_WAN IP address 192 168 5 11 public_address 18 181 0 32 8500 server_bind_port 7400 Initial Peers 1
114. uto Topic Routes 1 lt input gt 2 Section 2 4 7 required lt output gt Defines the auto topic route s output topic See Auto Topic Routes 1 Section 2 4 7 required The topic routes are created with this configuration When this flag is set to true if you have N topic routes for the lt publish with original same topic in different routers or in the same one each sample AR z ite that was written from a DataWriter in the input domain will be 0 or 1 routed N times but DataReaders on the output domain will only see one Default false The topic routes are created with this configuration lt publish_with_original_ When this tag is set to true the data samples are written with Oorl 2 33 uolOINByuoD Z Configuring Federation Service Table 2 12 Auto topic Route Tags ane Number Tag within D elas escription of Tags lt auto_topic_route gt Allowed The topic routes are created with this configuration When this flag is set to true the NOT_ALIVE_DISPOSE samples lt propagate_dispose gt received by the topic routes DataReaders are not published with 0 or 1 the topic routes DataWriters Default true The topic routes are created with this configuration When this flag is set to true the NOT_ALIVE_NO_WRITERS lt propagate_unregister gt samples received by the topic routes DataReaders are not pub 0or 1 lished with the topic routes DataWriters as unregi
115. vice executable location gt resource xml RTI FEDERATION_SERVICE xml This file contains the default Federation Service configuration it is loaded if it exists RTILFEDERATION_SERVICE xml defines a service that automatically routes all types and topics between domains 0 and 1 I lt working directory gt USER_FEDERATION_SERVICE xml This file is loaded automatically if it exists L File specified using the command line parameter cfgFile The command line option cfgFile see Table 3 1 in the Getting Started Guide can be used to specify a configuration file LL File specified using the remote command load The load command see Section 4 2 6 allows loading an XML file remotely The file loaded using this command replaces to the file loaded using the cfgFile command line option Last to be loaded You may use a combination of the above approaches Figure 2 1 shows an example configuration file You will learn the meaning of each line as you read the rest of this chapter 2 3 XML Syntax and Validation The XML configuration file must follow these syntax rules l The syntax is XML the character encoding is UTF 8 l Opening tags are enclosed in lt gt closing tags are enclosed in lt gt I A tag value is a UTF 8 encoded string Legal values are alphanumeric characters The federation service s parser will remove all leading and trailing spaces from the string before it is processed For example lt tag g
Download Pdf Manuals
Related Search
Related Contents
Tyan Transport GT24 A configuração do Technisches Handbuch BISI.3x_v09 Introduction To The C Language here 取扱説明書 - Cateye Hitachi DH 20V Drill User Manual Guia Instalação Rápida H.264 Exterior User guide - Tinyz rev A.pub Copyright © All rights reserved.
Failed to retrieve file