AUTOMATION SYSTEM WITH A COMMUNICATION INFRASTRUCTURE

DE502024001609D1Active Publication Date: 2026-08-13BECKHOFF AUTOMATION GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502024001609
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-07-27
Filing Date
2024-04-19
Publication Date
2026-08-13
Estimated Expiration
2044-04-19

AI Technical Summary

Technical Problem

Existing communication infrastructures in automation systems face inefficiencies and complexities in message transmission, particularly when spanning organizational boundaries, leading to increased configuration efforts, resource usage, and potential disruptions from message duplication and feedback loops.

Method used

A communication infrastructure design that utilizes message intermediaries with unique identifiers for participants and relay bridges, enabling message transmission based on topic names and return path descriptions, allowing autonomous modifications and reducing the need for central registries, while avoiding message duplication and feedback loops.

Benefits of technology

Facilitates efficient, scalable, and maintainable message transmission across complex communication infrastructures, allowing independent modifications without affecting other parts, and ensuring stable operation through redundant links.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The patent application claims priority over German patent application 10 2023 119 975.7.

[0002] The invention relates to a communication infrastructure for message transmission between communication participants of an automation system.

[0003] Automation systems typically include a large number of communication participants. Message transmission between these participants can be designed such that one or more participants offer one or more services to other participants, with the service of the first participant being used by the other participants via the communication infrastructure of the automation system.

[0004] As a service, the communication participant can provide information to the other communication participant regularly, sporadically, or only when certain conditions are met. Alternatively, the information can also be provided by the communication participant to the service upon request from the other communication participant.

[0005] A service provided by one communication participant can also involve the other communication participant requesting actions from that participant. These actions are then executed by the communication participant's service and, if necessary, the results are transmitted to the other communication participant. Actions can include, for example, creating, reading, modifying, or deleting variables or variable values. Actions can also be commands that the communication participant is to execute to control the automation system, such as stopping a movement or updating a software component within the automation system.

[0006] Services can provide simple variable values ​​as information. However, services can also be representations in the form of objects, as instances of specific complex types or classes. Instantiating an object of a particular class then corresponds to creating a complex variable value. Unlike simple variable values, complex variable values ​​allow for actions beyond simply creating, reading, modifying, or deleting them. Such actions can then be described using the type or class of the object instance.

[0007] Services can also provide metadata, which, similar to simple or complex variable values, can be requested as information and may also be linked to actions. For example, a service can make available the metadata of the type or class of its variables, the types or classes of variables that may be created for the service, and which instances currently exist. Furthermore, details about the types or classes can also be provided as information.

[0008] In a communication infrastructure topology within an automation system where message transmission between communication participants occurs via directly networked communication links, the number of communication links grows quadratically with the number of communication participants.

[0009] If, on the other hand, the communication infrastructure in the automation system includes a message intermediary through which the communication participants are connected for message transmission, the number of required communication links increases only linearly with the number of communication participants. Furthermore, using an intermediary message intermediary can reduce the configuration effort and also the resources required for establishing and operating the communication links.

[0010] Various approaches to message transmission using intermediaries are known from the state of the art. One possible approach is the standard "MQTT version 5.0" (https: / / docs.oasis-open.org / mqtt / mqtt / v5.0 / mqtt-v5.0.html).

[0011] In the standard "MQTT version 5.0", the process of transmitting messages from the communication participants to the message intermediaries is called publishing.

[0012] The published message contains a topic name. Topic names are also referred to as topics or individually as topics. A topic name typically consists of a sequence of topic elements at different topic levels, separated by topic level separators.

[0013] The topic levels are hierarchically organized in a topic tree, in which each topic level can have any number of subordinate topic levels. At least one topic level is itself not subordinate to any other topic level. Topic levels that are not subordinate to any other topic level are referred to as the roots of the topic tree.

[0014] In the MQTT standard "version 5.0", communication participants inform the message intermediaries which topic names of the published messages they are interested in. This process is called subscribing.

[0015] Participants in the communication can subscribe to individual topic names or subtrees of topic trees. Subscribing to subtrees is done by specifying a topic filter. A topic filter is a topic name in which one or more consecutive topic levels are replaced by placeholders.

[0016] In message delivery based on the publish-subscribe principle, the communication participant does not need to know to which other communication participants the message should be forwarded. This knowledge is transferred to the message provider. The message provider maintains a directory of which communication participant has subscribed to which topic names or which topic filters.

[0017] When a message is forwarded to multiple interested participants by the message intermediary, the sending participant typically only needs to transmit the message to the intermediary once. In contrast, in an automated system with directly networked communication links, the sending participant must send the message multiple times if more than one other participant is to receive it.

[0018] Furthermore, the forwarding of a message by the message intermediary ensures that information from communication participants with limited resources can be made available to many other communication participants. For example, a temperature reading from a sensor can be displayed simultaneously on various screens. Conversely, the message intermediary can provide a communication participant with information from many other communication participants. A single screen can then, for instance, display the temperature readings from many distributed sensors simultaneously.

[0019] The standard "MQTT version 5.0" further describes how, in message transmission based on the publish-subscribe principle, an interaction takes place between two communication participants. An interaction consists of a message requesting an action from another communication participant and, if applicable, a message with information about the response received.

[0020] According to the "MQTT version 5.0" standard, the communication participant publishes a request message containing an action request related to a topic name. Communication participants who have subscribed to messages on that topic name with the message broker then respond to the request message.

[0021] The request message can also specify the topic name on which the response should be published, which is referred to in the standard as the response topic. The response topic is transmitted along with the message. The request message can also contain correlation data.

[0022] Communication participants who respond to a request message and perform an action can publish a response message, for example, with a result as a reaction, under a topic name on the messaging platform. In the response message, the communication participants repeat the correlation information from the request message. This correlation information allows the requesting communication participant to associate a response message with a preceding request message. Before publishing the request message, a communication participant subscribes to the response message on the messaging platform.

[0023] EP3386171B1 describes a method in which only the communication participants requesting an action via a request message are directly connected to the message intermediary. The communication participants executing an action and, if necessary, sending a response message in return, are connected to the message intermediary via an adapter.

[0024] The same protocol underlies both a request message from a communication participant and a response message from an adapter. However, a different protocol can be used for the interaction between the adapter and the responding communication participant. The adapter thus acts as a translator between the protocols.

[0025] In EP3386171B1, each adapter is assigned a unique adapter identification, which is used by communication participants to address a request message. The request message for an action then contains a Uniform Resource Identifier (URI), which in turn contains an adapter identification and a variable name. Using the adapter identification, the message intermediary can deliver the message to the intended communication participant.

[0026] EP3386171B1 further describes how a network of message relays can also be used in the automation system to forward messages. The communication participants, or adapters, only need to be connected to a single message relay in the network to participate in message transmission. The message relay network is configured so that the adapter identification from the request messages is sufficient to deliver the request messages to the desired adapter via the network of message relays. Each message relay requires information about which adapters with which adapter identifications are connected to the message relay directly or indirectly via other message relays.

[0027] From EP3523927B1, another approach for message switching using an intermediary message broker is known, in which the broker creates an availability message for a service that specifies the subject under which a request for the service is expected, in the form of a job subject. The communication participant then does not need to configure how messages to the service must be addressed, but receives the information in the form of the job subject from the availability message of the message broker.

[0028] The "Sparkplug 3.0.0" specification describes the structure of a topic tree in a message broker to enable a large number of communication participants to interact via the broker. For interactions via the broker, the participants define the topics under which they offer their services, the topics on which they listen for request messages, and the topics on which they expect response messages. The "Sparkplug 3.0.0" specification uses identities at the topic levels to address communication participants.

[0029] In a network with multiple message intermediaries, bridges are typically implemented, encompassing several communication participants, each connected to a message intermediary in the network. A bridge can publish a message published to a message intermediary connected to a communication participant of the bridge to other message intermediaries as a copy of the message via the other communication participants of the bridge.

[0030] The relay bridge can be designed so that only messages on specific topics are forwarded from one relay to other relays. Furthermore, the relay bridge can modify the subject of the message copy before forwarding it. This subject modification can, for example, refer to which communication participant in the relay bridge received the message or to which communication participants the relay bridge is forwarding the message copy.

[0031] When using relay bridges, message copies can also be forwarded to other message relays even though none of the communication participants connected to the other message relays have subscribed to the topic of the message, which unnecessarily consumes transmission bandwidth.

[0032] Furthermore, unwanted feedback loops can occur if, for example, a circuit of communication connections between message intermediaries is topologically closed by means of relay bridges. If the message intermediary, as in the standard "MQTT version 5.0", is not designed to recognize message copies as copies of the original message, the message can be delivered multiple times to a communication participant.

[0033] Since the relay bridge also acts as a communication participant, it can forward a message copy that it has already forwarded. This can lead to endless cycles and indefinite duplication of messages, which can overload the communication infrastructure and cause disruptions and outages. Problems with relay bridges occur primarily when they are subject to different administrative controls.

[0034] A mediation bridge can also be an integral part of a message intermediary, whereby the message intermediary has a communication link with the various communication participants and additionally includes communication participants as a mediation bridge, who in turn are connected to further message intermediaries via communication links.

[0035] For the sake of simplicity, it will be assumed in the following that an intermediary bridge between two message intermediaries transmits messages. However, the explanations regarding an intermediary bridge that transmits messages between two message intermediaries also apply to an intermediary bridge that transmits messages between more than two message intermediaries.

[0036] Today, the communication infrastructure in automation systems often transcends organizational boundaries and can be controlled by various legal entities or individuals. To enable these individuals or entities to act as autonomously as possible, it is particularly advantageous for the communication infrastructure if changes in one part of the infrastructure or to individual communication participants necessitate as few changes as possible to the remaining parts of the infrastructure or to other communication participants.

[0037] An automation system with the features of the preamble of claim 1 is known from US 2023 / 036132A1. Further prior art is described in US 2011 / 258268A1.

[0038] The purpose of the invention is to provide an improved automation system that enables consistent and efficient message transmission within even a complex communication infrastructure of the automation system, which can be easily configured and maintained and, if necessary, modified with little effort.

[0039] The problem is solved by the independent claims. Preferred further developments are specified in the dependent claims.

[0040] An automation system has a communication infrastructure comprising multiple communication participants, each connected to at least one message intermediary via a communication link. The communication participants are configured to publish messages under topic names or subscribe to messages under topic names with the message intermediary. The communication participants have a subscription with the message intermediary to availability messages indicating that a communication participant is providing a service. The availability messages each contain initial return path descriptions, which are extended during transmission between the communication participants via the communication links to the message intermediary with a path segment identifier for the traversed path segments. Interaction between the communication participants occurs...in which at least one first communication participant, who has subscribed to messages under a first topic name with the message broker, publishes an availability message under the first topic name with the message broker, indicating that the first communication participant is providing a service associated with the first topic name, wherein each further communication participant receives a message copy of the availability message with a first return path description, which includes the route segment labels for the route segments traveled from the first communication participant, in which at least one second communication participant publishes a request message for the service under the first topic name with the message broker,wherein the second communication participant uses the first return path description of the message copy of the service availability notification as the delivery path in the request message to the first communication participant, wherein the delivery path of the request message is reduced by the path segment designation of the traveled path segment during transmission from the second communication participant to the first communication participant via the communication links to the message intermediary.

[0041] The second communication participant can subscribe to messages under a second topic name with the message broker. The request message can include a second return path description, which, during transmission from the second communication participant to the first communication participant via the communication links to the message broker, is extended with the path segment designation of the traversed path segment.The first communication participant can publish a reply message from the service to the request message under the second topic name at the message intermediary, wherein the first communication participant uses the second return path description of the request message as the delivery path in the reply message to the second communication participant, wherein the delivery path of the reply message is reduced by the path segment designation of the traveled path segment during transmission from the first communication participant to the second communication participant via the communication links to the message intermediary.

[0042] The availability message can contain initial metadata and initial message content, where the initial metadata includes the initial topic name, initial return path description and unique value, and where the initial message content includes a service type and optionally a service version.

[0043] Each communication participant may include a participant message intermediary who is connected to the message intermediary via the assigned communication link, each participant message intermediary being assigned an intermediary designation that uniquely identifies the participant message intermediary in relation to the other participant message intermediaries connected to the message intermediary.

[0044] The communication participant can comprise a service and / or an application, each connected via a communication link to the participant message intermediary of the communication participant. The service and / or application are designed to publish messages under topic names or subscribe to messages under topic names on the participant message intermediary of the communication participant. Within the communication participant, each service can be assigned a service name and each application an application name, which uniquely identifies the service or application, respectively, within the communication participant.

[0045] The communication links between the communication participants and the message intermediary can each be relay bridges, each relay bridge being assigned a bridge name that uniquely identifies the relay bridge in relation to the other relay bridges connected to the message intermediary. The relay bridges can have subscriptions and translation tables, the relay bridges being designed to use the subscriptions to subscribe to topic names at the participant message intermediaries connected to the relay bridges, which are to be forwarded by the relay bridges, and the relay bridges being designed to use the translation tables to modify the topic names during transmission.

[0046] The message intermediary can have a topic tree that distinguishes between topic names that include a delivery method and those that do not. The delivery method can be part of the topic name in each case. Availability messages can also be indicated within the topic tree.

[0047] The automation system can extend across organizational and geographical boundaries, whereby the parts of the automation system can be changed autonomously by the respective organization without requiring other communication participants or message intermediaries of the automation system to be aware of the change in order to continue to use services from the changed part of the automation system or to continue to offer services for the changed part of the automation system.

[0048] In the automation system, communication participants learn, without prior configuration, which services they require are accessible and how a request message can be transmitted. Neither the communication participants nor the message intermediaries need to know which communication participants and services are available at which point in the communication infrastructure in order to select transmission paths.

[0049] It is not necessary to use unique identifiers within a shared topic tree of the communication infrastructure to correctly address messages. Assigning unique identifiers would fundamentally require a central authority to act as a registry and prevent duplicate identifier assignments. The need for such a central registry would prevent different organizations from independently modifying parts of the communication infrastructure under their administration, for example, to integrate new communication participants and / or message intermediaries.

[0050] Furthermore, topological loops within the communication infrastructure of the automation system, such as those that arise from feedback loops involving message duplication, have no negative impact. The redundant communication links contribute to the stability and availability of the communication infrastructure by automatically compensating for interruptions in individual communication links through the use of any available redundant communication links.

[0051] The invention is explained in more detail with reference to the attached figures. Figure 1 shows a message within the context of a message delivery system based on the publish-subscribe principle. Figure 2 shows a theme tree. Figure 2 Displays messages for an interaction between communication participants. Figure 4 shows return route descriptions. Figure 5 displays an availability message. Figure 6displays a request message. Figure 7 displays a reply message. Figure 8 shows the structure of an automation system with communication participants and a message intermediary. Figure 9 displays a topic tree from the perspective of the message intermediary in the automation system. Figure 8 . Figure 10 shows a topic tree from the perspective of a participant message intermediary in a communication participant of the automation system. Figure 8 . Figure 11 displays subscription lists and translation tables for a mediation bridge in the automation system. Figure 8 . Figure 12 displays in the automation system Figure 8 the process when a service of a communication participant publishes an availability message. Figure 13 displays in the automation system Figure 8 the process by which applications publish request messages in communication participants. Figure 14displays in the automation system Figure 8 the process by which a service in the communication participant publishes reply messages in response to the request messages.

[0052] In an automation system with a communication infrastructure that includes one or more message intermediaries, message transmission is based on the publish-subscribe principle. Communication participants publish (publish) or subscribe (subscribe) messages to the message intermediary.

[0053] A message contains a topic name, hereinafter also referred to as topics or individually as a topic, which usually consists of a single topic element or a sequence of topic elements from different topic levels, separated by topic level separators.

[0054] An exemplary structure of a message 341, published by a communication participant with a message intermediary, is shown in Figure 1 shown. Message 341 has a topic name 441, which includes the first topic element 430, second topic element 435 and third topic element 438 with intermediate first level separator 461 and second level separator 462.

[0055] The topic levels of the topic elements are hierarchically organized in a topic tree, where each topic level can have any number of further topic levels subordinate to it. Topic levels that are not subordinate to any other topic level form the roots of the topic tree.

[0056] An example of how to structure a 400-page theme tree is shown in Figure 2The diagram shows the topic tree 400 growing from top to bottom. The topic tree 400 contains three topic elements as its roots in one topic level: the first topic element 430 of topic name 441 of message 341, as well as a fourth topic element 410 and a fifth topic element 420.

[0057] The next topic level comprises four topic elements, namely the second topic element 435 of the topic name 441, which is hierarchically subordinate to the first topic element 430 of the topic name 441, as well as a sixth topic element 411 and a seventh topic element 415, which are hierarchically subordinate to the fourth topic element 410, and an eighth topic element 431, which is hierarchically subordinate to the first topic element 430.

[0058] The subsequent topic level has seven topic elements, which include the third topic element 438 of the topic name 441, which is hierarchically subordinate to the second topic element 435 of the topic name 441, as well as a ninth topic element 412 and a tenth topic element 413, which are hierarchically subordinate to the sixth topic element 411, an eleventh topic element 432 and a twelfth topic element 433, which are hierarchically subordinate to the eighth topic element 431, and a thirteenth topic element 436 and a fourteenth topic element 437, which are hierarchically subordinate to the second topic element 435.

[0059] Participants in the communication can subscribe to individual topic names or subtrees of the topic tree. Subscribing to subtrees is done by specifying a topic filter. A topic filter is a topic name in which one or more consecutive topic levels are replaced by placeholders.

[0060] An example of how to set up a topic filter 451 is described further in Figure 1 The topic filter 451 comprises the first topic element 430 and the second topic element 435 with an intermediate third layer separator 463. Following the second topic element 435 is a fourth layer separator 464, to which a placeholder 471 is attached. The placeholder 471 thus covers the thirteenth topic element 436, the fourteenth topic element 437, and the third topic element 438, which are hierarchically subordinate to the second topic element 435.

[0061] In message transmission based on the publish-subscribe principle, an interaction takes place between the communication participants, in which communication participants publish request messages and, if necessary, receive reply messages.

[0062] A communication participant publishes a request message for an action on topic name 441 with the message provider. Communication participants who have subscribed to messages on topic name 441 with the message provider then respond to the request message. The request message can also specify on which topic name 441 the response should be published; this is referred to as the response topic. The response topic is transmitted along with the request message. Correlation data can also be included in the request message.

[0063] In Figure 3 This shows an example of the messages from an interaction between communication participants in the automation system. A communication participant publishes a request message 740 to the message intermediary on the topic name 441, which is already in Fig. 1 The first topic element is shown, comprising 430, 435, and 438, with the first level separator 461 and the second level separator 462 intersected. Request message 740 further contains a response topic 481, comprising the fourth topic element 410 and the seventh topic element 415, with a fifth level separator 465 intersected. Request message 740 also includes correlation information 491.

[0064] Communication participants who respond to a request message and perform an action can publish a response message, for example, with a result as a reaction, under a topic name on the messaging platform. In the response message, the communication participants repeat the correlation information from the request message. This correlation information allows the requesting communication participant to associate a response message with a preceding request message. Before publishing the request message, a communication participant subscribes to the topic of the response message on the messaging platform.

[0065] In Figure 3The figure shows a reply message 780 with the reply topic 481, which is published by a responding communication participant to the message intermediary as part of the interaction. The reply message 780 also contains the correlation information 491.

[0066] Communication participants also indicate, by sending a message on a topic, that a service is available and that request messages regarding the service are expected. Such a message is subsequently referred to as a service availability message. The topic name under which a request for the service is expected is called the request topic.

[0067] In Figure 3 This shows an availability message 700 with a job topic 482. The availability messages are sent by the message intermediaries to interested communication participants via the communication infrastructure.

[0068] In an automated system with a network of message relays, messages are delivered using route descriptions. A route description assigned to a message specifies which message relays and / or which communication links between the message relays the message should be routed through.

[0069] Availability messages 700 are used to determine the directions. Availability message 700 additionally contains a field called the return route description, which describes the transmission route back to the service.

[0070] Before the service sends availability message 700, the return path description contains no value. During transmission to the next message server or communication participant, the return path description is extended by the name of the path segment traveled during the transmission, hereinafter referred to as the path segment name. This extension of the return path description can be performed before, during, or after transmission to the next message server or communication participant.

[0071] The route segment name can be appended to the end of the current value in the return route description. Alternatively, the route segment name can also be placed at the beginning of the return route description. Figure 4 The two alternatives are illustrated with examples.

[0072] A first return route description 720 has first to fifth route section designations 721-725, with the order being first route section designation 721, second route section designation 722, third route section designation 723, fourth route section designation 724 and fifth route section designation 751.

[0073] A second return route description 730 again shows the first to fifth route section designations 721-725, with the sequence being fifth route section designation 725, fourth route section designation 724, third route section designation 723, second route section designation 722 and first route section designation 721.

[0074] In both embodiments, the route segment designations are ordered in the return route description and separated from each other in such a way that the individual route segment designations can be clearly determined from the return route description.

[0075] Availability message 700 can be delivered to multiple communication participants by the network of message brokers if several participants are interested in the service's availability. Distribution of availability message 700 to multiple communication participants can occur automatically if the participants have previously subscribed to the topic of availability message 700 with the message broker. Different services can use the same or different topics for availability messages 700.

[0076] When availability message 700 is distributed to a number N of interested communication participants, N copies of the availability message 700 must have been made after complete delivery. These copies must have been delivered via N different routes. Each communication participant receives a copy of the availability message 700, whereby the message content of the availability message 700 is identical, but the return path description is unique in each copy.

[0077] The service availability message 700, along with its associated individual return path description, is used by the communication participant to send request messages 740 to the respective service. Each request message 740 includes information, either in its own field or as part of a larger field, specifying the delivery route for the request message 740 to the service. This information is subsequently referred to as the delivery route.

[0078] The communication participant uses the return path description of the availability message 700 as the starting value for the delivery path of the request message 740. The communication participant selects the transmission path based on the path segment designations in the starting value of the delivery path.

[0079] The value of the delivery path is reduced by the path segment designation of the path segment traveled during transmission to the next message intermediary or communication participant. This reduction of the delivery path can be performed before, during, or after transmission to the next message intermediary or communication participant.

[0080] The delivery path then only contains the path segment designations of the parts of the transmission path over which the request message 740 still needs to be transmitted. The order of the path segment designations in the delivery path determines which is the next path segment designation.

[0081] When the request message 740 reaches the message relay that is directly connected to the communication participant offering the service, the delivery path value is empty or no longer exists. The request message 740 has then reached its destination.

[0082] The structure of the delivery route corresponds to the structure of the return route description. If, during the transmission of availability message 700, the value of the return route description was extended by adding further route segment designations at the beginning, then the foremost route segment designation must be selected and reduced for transmission from the delivery route. Similarly, if the value of the return route description in availability message 700 was extended by appending further route segment designations, then the most recent route segment designations must be selected and reduced for transmission from the delivery route.

[0083] The values ​​of the route segment designations for return route descriptions or delivery routes can be automatically determined in various ways.

[0084] The route segment designations can be determined by the respective message intermediary to whom a communication participant or another message intermediary establishes a communication connection, i.e., by the message intermediary who accepts the communication connection.

[0085] The message intermediary can, for example, assign a unique value to the communication link, for example by assigning the next available value to the communication link when accepting it.

[0086] Fixed values ​​can also be assigned to the path segment designations. Such values ​​could, for example, be the value assigned to the communication participant or the message intermediary who establishes the communication link to the next message intermediary. The values ​​are assigned in such a way that they are unambiguous, at least from the perspective of the message intermediary involved in the communication link.

[0087] Furthermore, values ​​for communication links between communication participants and message intermediaries, or neighboring message intermediaries, can also be used as path segment designations. A communication link can also be assigned a separate value for each of the two transmission directions. When extending the value for the return path description, the values ​​for the opposite transmission direction must always be used so that the correct transmission direction is specified for the delivery path based on the return path description when selecting the next transmission segment.

[0088] The value can be a name, a number, or a combination of both. The path segment identifier only needs to be unique within a locally limited part of the communication infrastructure. This allows for local and autonomous modification of parts of the communication infrastructure without requiring notification of other parts.

[0089] In order for a service to respond to a request message 740 from a communication participant, the communication participant adds a field for a return path description to the request message 740, analogous to how a message intermediary structures an availability message 700. This field is initially empty or non-existent and, upon reaching the service, contains a value that the service can then use to generate a response message 780 with the delivery path value to the communication participant that sent the request message 740. The return path description value for the request message 740 is generated in the same way as the return path description for the availability message 700.

[0090] If a communication participant learns about a service via an availability message 700 and then sends a request message 740 to the service, optionally receiving a response message 780 from the service, it is not necessary to wait for another availability message 700 before sending a further request message 740 to the service. The delivery path to the service is already known to the communication participant. The communication participant can use this known delivery path for any number of further request messages 740 to the service.

[0091] If, after receiving an availability message 700, parts of the communication infrastructure are reconfigured, the delivery path may change, based on the return path description of the availability message 700. Communication participants can recognize the delivery path error, for example, if a response message from the service to a request message is not received within an expected response time.

[0092] To ensure that services remain accessible during a restructuring of the communication infrastructure, services can periodically or on demand send further availability messages 700, for example using retain messages from the message intermediaries according to the standard "MQTT version 5.0".

[0093] As in Figure 5As shown, an availability message 700 comprises initial metadata 701, also referred to as "header" or "properties," and initial message content 710, also referred to as "payload." The initial metadata 701 includes an initial topic name 702, an initial return path description 730, and optionally a unique value 704. The unique value 704 can be generated, for example, using a method from the standard RFC 4122 "Universally Unique Identifier UUID URN Namespace."

[0094] The first message (710) of the availability message (700) describes the service. Based on this service description, the communication participants can then decide whether they want to use the service. The communication participants send request messages (740) to the service and, if necessary, expect response messages (780).

[0095] The first message content 710 of the availability message 700 describes a service type 711, which identifies the type of service offered, and a service version 713, which the service has implemented with respect to the service type 711.

[0096] Typically, service types 710 are further developed over time, and newer versions support a larger, improved, or otherwise state-of-the-art range of functions. The naming of the service-supported versions allows the communication participant to recognize whether they will understand a particular form of a request message 740.

[0097] Furthermore, the initial message content 710 can contain a participant identification 712, which either uniquely identifies the service within the automation system or names a group of services that belong together and do not need to be distinguished. The participant can use the participant identification 712 to decide which of several services of the same type it wishes to interact with. A participant identification 712 that identifies a service could, for example, be an address. A participant identification 712 that identifies a group of services could, for example, be information about the service's affiliation with an organization.

[0098] The participant identification 712 can alternatively be included in the availability message 700 instead of in the message content 710, also in the meta information 701, for example as part of the topic name 702.

[0099] How Figure 6 As shown, a request message 740 from a communication participant, analogous to an availability message 700, consists of second metadata 741 and a second message content 750. Components of the second metadata 741 include a first delivery path 742, optionally a second return path description 743, and also optionally, first correlation data 744. The first delivery path 742 describes the route by which the request message 740 is to be transmitted to the desired service. The second return path description 743 for the request message 740 is only required if a response message 780 is expected from the service.

[0100] The first correlation data 744 is assigned to the request message 740 when the communication participant sends multiple request messages 740 to the same or different services without first waiting for the response messages 780. The service then copies the first correlation data 744 from the respective request message 740 into the response message 780, and the communication participant can use the first correlation data 744 to determine, after receiving the response message 780, to which request message 740 the response message 780 belongs.

[0101] How Figure 7As shown, a response message 780, similar to an availability message 700 or a request message 740, consists of third metadata 781 and third message content 790. The third metadata 781 is associated with a second delivery path 782, optionally a third return path description 783, and also optionally second correlation data 784. The second delivery path 782 describes the transmission path by which the service's response message 780 is to be transmitted to the communication participant who sent the corresponding request message 740.

[0102] For the delivery path value in response message 780, the service uses the return path description from request message 740. If request message 740 contained initial correlation data 744, the service repeats the second correlation data 784 in response message 780 so that the requesting communication participant can associate response message 780 with the request message 740. This is particularly advantageous if the service has identified itself in availability message 700 without a unique participant identification and the communication participant interacts with multiple services of the same service type 711.

[0103] Figure 8Figure 800 schematically illustrates a possible structure of an automation system. The example automation system 800 has four communication participants: a first communication participant 806, a second communication participant 807, a third communication participant 808, and a fourth communication participant 809. In principle, any number of communication participants can be included in the automation system.

[0104] All communication participants in the automation system 800 are connected to a message relay 801 via an assigned relay bridge. That is, the first communication participant 806 is connected to the message relay 801 via a first relay bridge 810, the second communication participant 807 is connected to the message relay 801 via a second relay bridge 811, the third communication participant 808 is connected to the message relay 801 via a third relay bridge 812, and the fourth communication participant 809 is connected to the message relay 801 via a fourth relay bridge 813.

[0105] Instead of using an intermediary bridge, communication participants can also be directly connected to the message intermediary via communication links. Networks of message intermediaries can also be used instead of a single intermediary.

[0106] Furthermore, the automation system can also have extensions. Additional system sections can be added, including communication participants, message intermediaries, and switching bridges.

[0107] Each communication participant typically includes a subscriber message transmitter connected to its assigned switching bridge. That is, the first communication participant 806 is connected to the first switching bridge 810 via a first subscriber message transmitter 802, the second communication participant 807 is connected to the second switching bridge 811 via a second subscriber message transmitter 803, the third communication participant 808 is connected to the third switching bridge 812 via a third subscriber message transmitter 804, and the fourth communication participant 809 is connected to the fourth switching bridge 813 via a fourth subscriber message transmitter 805.

[0108] Each mediation bridge can take place, as in Figure 8The interface, shown to be executed separately from the assigned communication participant, can also be integrated into the assigned communication participant. The mediation bridge can be part of the participant message intermediary within the communication participant.

[0109] Each switching bridge is assigned a bridge designation that uniquely identifies it in relation to the other switching bridges connected to the message exchanger 801. In an automation system 800, bridge designations must generally be unique among themselves if the switching bridges are connected to the same message exchanger or subscriber message exchanger.

[0110] In Figure 8The first connecting bridge 810 has the letter "e" as its first bridge designation 820, the second connecting bridge 811 has the letter "f" as its second bridge designation 821, the third connecting bridge 812 has the letter "g" as its third bridge designation 822, and the fourth connecting bridge 813 has the letter "h" as its fourth bridge designation 823.

[0111] Each message intermediary or subscriber-message intermediary is assigned an intermediary designation. Analogous to bridge designations, message intermediaries or subscriber-message intermediaries must be assigned different intermediary designations if they are connected to each other via an intermediary bridge. For this reason, the following applies in the Figure 8The automation system 800 shown shows that all intermediary designations must be unique, since in the automation system 800 all subscriber message intermediaries contained in the communication participants are connected to the same message intermediary 801 via an assigned switching bridge.

[0112] In the Figure 8 In the automation system 800 shown, the first subscriber message intermediary 802 has the letter "B" as its first intermediary designation 842, the second subscriber message intermediary 803 has the letter "C" as its second intermediary designation 843, the third subscriber message intermediary 804 has the letter "D" as its third intermediary designation 844, and the fourth subscriber message intermediary 805 has the letter "E" as its fourth intermediary designation 845.

[0113] The requirement that bridge names and intermediary names only need to be unique within local boundaries ensures autonomy in the allocation of names within those local boundaries.

[0114] Each communication participant includes a participant identification that is linked to the respective participant message intermediary and uniquely identifies the participant message intermediary.

[0115] In the Figure 8In the automation system 800 shown, the first communication participant 806 has a first participant identification 832 for the first participant message intermediary 802, the second communication participant 807 has a second participant identification 833 for the second participant message intermediary 803, the third communication participant 808 has a third participant identification 834 for the third participant message intermediary 804, and the fourth communication participant 309 has a fourth participant identification 835 for the fourth participant message intermediary 805.

[0116] The following distinguishes between applications and services. Applications are executed programs or procedures that cause a service to perform an action, while services are executed programs or procedures that perform actions on behalf of an application and, if necessary, respond with a reaction such as results. The same executed instance of a program can act as both a service and an application. However, it is generally possible to disregard this distinction between applications and services.

[0117] In order for services to perform actions, each service is associated with a collection of objects on which the service executes its actions. Objects in an object collection include, for example, variable values ​​in a program, entries in a database, or methods that can be executed. An object can also be implemented as an instance of a class in a higher-level programming language such as C++. Objects can, in principle, represent any real or virtual object.

[0118] In an Automation System 800, each communication participant can include any number of services and / or applications, each of which can communicate with the participant message intermediary of the communication participant via its own communication link, in order to receive messages by subscribing to topic names 441 and / or topic filters 451 and to send messages by publishing to a specific topic.

[0119] The communication participants in the Automation System 800 can each form a separate unit in the form of a physical device. However, the communication participants can also consist of multiple devices that can communicate with each other via physical or wireless communication links. For example, the services, applications, and participant message relays of one communication participant can run on different devices. The services, applications, and participant message relays of one communication participant can also run together on the same device as the services, applications, and participant message relays of another communication participant.

[0120] The switching bridges can also be designed as a single device or form part of the device or device system of an assigned communication participant. Furthermore, the switching bridges can form a unit together with the message intermediary.

[0121] In the Figure 8 The automation system 800 shown has a first service 860 for the first communication participant 806, which is connected to the first participant message intermediary 802 via a first communication link 850. A first object collection 880 is assigned to the first service 860.

[0122] The second communication subscriber 807 has a second service 861, which is connected to the second subscriber message intermediary 803 via a second communication link 851, and a third service 862, which is connected to the second subscriber message intermediary 803 via a third communication link 852. A second object collection 881 is assigned to the second service 861, and a third object collection 882 is assigned to the third service 862.

[0123] The third communication participant 808 has a fourth service 863, which is connected to the third participant message intermediary 804 via a fourth communication link 853. A fourth object collection 883 is assigned to the fourth service 863. The third communication participant 808 also includes a first application 864, which is connected to the third participant message intermediary 804 via a fifth communication link 854, and a second application 865, which is connected to the third participant message intermediary 804 via a sixth communication link 855.

[0124] The fourth communication participant 809 has a third application 866, which is connected to the fourth participant message intermediary 805 via a seventh communication link 856.

[0125] In the 800 automation system, each service is assigned a service name and each application an application name. The service names and application names must be unique within the respective communication participant.

[0126] As in Figure 8 As shown, in the first communication participant 806, the first service 860 has the letter "s" as its first service designation 870. The second service 861 of the second communication participant 807 also has the letter "s" as its second service designation 871. The third service 862 of the second communication participant 807 has the letter "p" as its third service designation 872.

[0127] In the third communication participant 808, the fourth service 863, as the fourth service designation 873, again has the letter "s". The first application 864 of the third communication participant 808, as the first application designation 874, has the letter "v", and the second application 865 of the third communication participant 808, as the second application designation 875, has the letter "w". In the fourth communication participant 809, the third application 866, as the third application designation 876, again has the letter "w".

[0128] The message intermediaries 801 and subscriber message intermediaries use topic trees 400 so that a request message 740 can be published for a topic name 441, or a reply message 780 can be received via a subscription to a topic name 441 or a part of the topic tree 400 with a topic filter 451. The delivery path can be specified as part of the topic or, analogously, as part of the reply topic 481. The path segment labels of the delivery path then correspond to the topic elements in the topic levels of the topic or the reply topic 481. The part of the topic tree 400 that contains the path segment labels is called the path tree layer.

[0129] The delivery paths refer to the respective message intermediary 801 or subscriber message intermediary and therefore change from message intermediary or subscriber message intermediary to message intermediary 801 or subscriber message intermediary. This means that the arrangement of the topic levels within a topic tree 400 changes for the delivery path from the perspective of the respective message intermediary 801 or subscriber message intermediary.

[0130] In operation, a message intermediary 801 or subscriber message intermediary does not necessarily need to know the complete topic tree 400 for the automation system 800. The message intermediary 801 or subscriber message intermediary then only possesses knowledge of the parts of the topic tree 400 that consist of the topics of the published messages and the existing subscriptions.

[0131] The following explains the structure of topic trees 400, in which bridge designations are used to identify delivery routes. As explained above, other values ​​from the automation system 800, such as intermediary designations, can also be used instead of bridge designations as route segment designations.

[0132] Figure 9 This shows a first topic tree 1000 from the perspective of the message intermediary 801 in the automation system 800. Figure 8 Furthermore, it shows Figure 10 a second topic tree 1100 from the perspective of the first participant message intermediary 802 in the first communication participant 806 of the automation system 800 from Figure 8 .

[0133] In the first topic tree (1000), a distinction is made between topics that contain a delivery path and those that do not, or equivalently, contain an empty delivery path. Based on the topic, it can then be determined whether a message should be delivered locally to one or more applications and / or services of a communication participant, or whether it must first be transported via path segments before delivery. Furthermore, topics for availability messages (700) are marked in the first topic tree (1000), since availability messages (700) are forwarded via all communication links to reach all communication participants.

[0134] From the perspective of message intermediaries (801) or subscriber message intermediaries, the roots of the topic tree are used to distinguish the three types of topics mentioned above. The root with the letter "m" stands for "multicast" (transmission to multiple recipients) and describes all topics used in availability messages (700). The root with the letter "d" stands for "direction" and describes all topics where the messages containing the topics have a delivery path. The root with the letter "I" stands for "local" and is assigned to all topics where the messages containing the topics do not have a delivery path and therefore do not need to be transported over any route segments. Instead of using the roots of the topic tree to identify the three types of topics, other forms of identification can also be used.

[0135] At the in Figure 9 In the first topic tree 1000 shown from the perspective of the message intermediary 801, a first root "m" 1001 for "multicast" and a first root "d" 1002 for "direction" are provided. A first root "I" for "local" is not needed and therefore does not appear in the first topic tree 1000, since the message intermediary 801 does not have a direct communication connection with any application or service.

[0136] At the in Figure 10The second topic tree 1100 shown from the perspective of the first subscriber message intermediary 802 in the first communication subscriber 806 contains, in addition to a second root "m" 1101 for "multicast" and a second root "d" 1103 for "direction", also a second root "I" 1102 for "local", since the first service 860 in the first communication subscriber 806 maintains the first communication link 850 to the first subscriber message intermediary 802 in the first communication subscriber 806 and subscribes to topics below the root "I".

[0137] Delivery routes are depicted in the first theme tree 1000 and in the second theme tree 1100 below the first root "d" 1002 and below the second root "d" 1103, respectively. The subordinate theme levels following root "d" each contain as theme elements route segment designations in the form of bridge designations, forming a route tree layer until a stop tree layer, in the form of another theme level, marks the end of the delivery route in the theme tree with a predefined stop value that does not represent a route segment designation.

[0138] At the in Figure 8In the automation system 800 shown, the message relay 801 has the following path segments to further subscriber message relays in the communication participants in the form of bridge connections. The message relay 801 is connected via the first switching bridge 810, with the first bridge designation 820, which bears the letter "e", to the first subscriber message relay 802 in the first communication participant 806. The message relay 801 is connected via the second switching bridge 811, with the second bridge designation 821, which bears the letter "f", to the second subscriber message relay 803 in the second communication participant 807. The message relay 801 is connected via the third switching bridge 812, with the third bridge designation 822, which bears the letter "g", to the third subscriber message relay 804 in the third communication participant 808.The message intermediary 801 is connected via the fourth switching bridge 813 with the fourth bridge designation 823, which has the letter "h", to the fourth subscriber message intermediary 805 in the fourth communication subscriber 809.

[0139] At the in Figure 9 The first topic tree 1000 shown from the perspective of the message intermediary 801 therefore contains, under the first root "d" 1002 in a first path tree layer 1020 for delivery routes or return route descriptions, the following path section designations in the form of bridge designations are given as topic elements in a topic level: First path topic element "e" 1031, second path topic element "f" 1032, third path topic element "g" 1033 and fourth path topic element "h" 1034.

[0140] Since the message relay 801 is always directly connected to the other participant message relays, the first topic level in the first topic tree 1000, specifically the first path tree layer 1020, does not contain any further topic levels for delivery routes or return route descriptions. Therefore, the end of the delivery routes or return route descriptions is indicated in the first topic tree 1000 by a stop tree layer.

[0141] In the Figure 9The first topic tree shown (1000) is located in the stop tree layer for each topic element of the topic level in the first path tree layer (1020): first stop topic elements (1035), second stop topic elements (1036), third stop topic elements (1037), and fourth stop topic elements (1038), which contain a placeholder "[dend]". The placeholder "[dend]" is usually a predefined value. Using an empty value for these topic elements is advantageous because a blank space is not commonly used to designate a path segment, even in real-world applications.

[0142] At the in Figure 8In the automation system 800 shown, the first subscriber message intermediary 802 in the first communication subscriber 806 is connected via the first switching bridge 810 with the first bridge designation 820, which has the letter "e", to which the message intermediary 801 is connected, which then in turn establishes the connection with the second subscriber message intermediary 803 in the second communication subscriber 807 via the second switching bridge 811 with the second bridge designation 821, which has the letter "f", via the third switching bridge 812 with the third bridge designation 822, which has the letter "g", the connection with the third subscriber message intermediary 804 in the third communication subscriber 808 and via the fourth switching bridge 813 with the fourth bridge designation 823, which has the letter "h", the connection with the fourth subscriber message intermediary 805 in the fourth communication subscriber 809.

[0143] Since the first subscriber message relay 802 in the first communication subscriber 806 is always connected to the subscriber message relays in the other communication subscribers via the message relay 801, the in Figure 10The second topic tree 1100 shown therefore includes a second path tree layer 1120 for delivery and return path descriptions with two topic levels under the second root "d" 1103. In the first topic level of the second path tree layer 1120, the fifth path topic element "e" 1130 is specified as a path segment designation in the form of a bridge designation, which represents the direct connection from the first subscriber message intermediary 802 to the message intermediary 801. In the second topic level of the second path tree layer 1120, the connections from the message intermediary 801 to the subscriber message intermediaries in the further communication participants are then defined via the following path segment designations in the form of bridge designations: sixth path topic element "f" 1131, seventh path topic element "g" 1132, and eighth path topic element "h" 1133.

[0144] The end of the delivery routes or the return route descriptions is then found in the second topic tree 1100, as Figure 10 shows, with a stop tree layer displayed, which for the topic elements of the second topic level in the second path tree layer 1120 has a fifth stop topic element 1141, a sixth stop topic element 1142 and a seventh stop topic element 1143, which contain the placeholder "[dend]".

[0145] When messages are transmitted between message relays 801 via the switching bridges, the topics in the messages are modified so that the path segment designations for the delivery route are removed from the topic. Therefore, all applications and services of the communication participant subscribe to topics with constant roots and no path tree layer in the first topic tree 1000 of message relay 801 of the communication participant.

[0146] The topics for subscriptions by applications and services of a communication participant with a communication link to the participant's message intermediary are described by a topic tree section below the root "l". In the example of the second topic tree 1100 in Fig. 10 is a first topic tree section 1125 below the second root "l" 1102 with all topic levels for topics of the first service 860 with the first communication link 850 to the first subscriber message intermediary 802 in the first communication subscriber 806 arranged.

[0147] Under the second root "m" 1101 and the second root "l" 1102, or under the stop tree layer to mark the end of the delivery path at the second root "d" 1103, are the topic tree sections with the further topic levels needed for the formation of the topics.

[0148] The topic tree sections for availability messages 700, which under the second root "m" 1101 indicate which services are provided by the communication participants and under which topics the communication participants expect request messages 740, are in all topic trees that are available to the message intermediaries 801 in the automation system 800. Figure 8 The assigned elements are identical. In the first topic tree 1000 from the perspective of the message intermediary 801, and in the second topic tree 1100 from the perspective of the first participant-message intermediary 802 in the first communication participant 806, a first topic tree section 1025 is therefore provided under the first root "m" 1001 and the second root "m" 1101.

[0149] Because during message transmission only the topic levels of the topic trees that concern the delivery path or the return path description, i.e., the path tree layer, are changed, the other topic tree sections in all topic trees that are connected to the message intermediaries 801 in the automation system 800 are also affected. Figure 8 are assigned, identically present.

[0150] Below the stop tree layer, which marks the end of the delivery path, are the topic tree sections with the topic levels that are to be subscribed to by the applications and services in the automation system 800. For the message intermediaries 801, which have a direct communication link with the services or applications, the topic tree section is then located under the second root "l" 1102, since the topic tree section has reached the respective destination described by the delivery path.

[0151] At the in Figure 9The first topic tree 1000 shown from the perspective of the message intermediary 801 contains, under the first root "d" 1002, separated by the first path tree layer 1020 and the subsequent stop tree layer, a second topic tree section 1021 for the first participant message intermediary 802, a third topic tree section 1022 for the second participant message intermediary 803, a fourth topic tree section 1023 for the third participant message intermediary 804 and a fifth topic tree section 1024 for the fourth participant message intermediary 805.

[0152] At the in Figure 10The second topic tree 1100, shown from the perspective of the first subscriber message intermediary 802, contains the following subtopics: the seventh topic tree subtopic 1122 for the second subscriber message intermediary 803, the eighth topic tree subtopic 1123 for the third subscriber message intermediary 804, and the ninth topic tree subtopic 1124 for the fourth subscriber message intermediary 805. The sixth topic tree subtopic 1121, which contains the topics for the services and applications connected to the first subscriber message intermediary 802 in the first subscriber 806 via the first communication link 850, is then located under the second root "l" 1102.

[0153] In the first topic tree 1000 from the perspective of the message intermediary 801, the topics with one delivery path have the following form, where the placeholder 471 "#" represents any number of further topic levels: "d / e / / #" for the delivery path to the first subscriber message intermediary 802 in the first communication subscriber 806, "d / f / #" for the delivery path to the second subscriber message intermediary 803 in the second communication subscriber 807, "d / g / / #" for the delivery path to the third subscriber message intermediary 804 in the third communication subscriber 808 and "d / h / / #" for the delivery path to the fourth subscriber message intermediary 805 in the fourth communication subscriber 809.

[0154] In the second topic tree 1100 from the perspective of the first participant-message intermediary 802 in the first communication participant 806, the topics with a delivery path have the following form, where the placeholder 471 "#" represents any number of further topic levels: "d / e / f / / #" for the delivery path to the second subscriber message intermediary 803 in the second communication subscriber 807, "d / e / g / / #" for the delivery path to the third subscriber message intermediary 804 in the third communication subscriber 808 and "d / e / h / / #" for the delivery path to the fourth subscriber message intermediary 805 in the fourth communication subscriber 809.

[0155] There are a multitude of possibilities for constructing themed tree sections below the roots or below the path tree layers in the themed tree. Figure 9 and 10 This demonstrates an advantageous design, particularly regarding the arrangement and number of topic levels. However, the arrangement of topic levels shown can be varied. The order of the topic levels can also be reversed. Furthermore, individual topic levels can be omitted.

[0156] The following explains the structure of the first topic tree section 1025 for availability messages 700, which is located in the first topic tree 1000 and the second topic tree 1100 under the first root "m" 1001 and the second root "m" 1101, respectively. This structure can be used analogously for the other topic tree sections in the first topic tree 1000 and the second topic tree 1100.

[0157] Under the root "m" in the topic tree, a first topic level is located in the first topic tree section 1025 with a fifteenth topic element "sv" 1003. The value "sv" in the fifteenth topic element 1003 stands for "service" and indicates that the subsequent topic levels concern services. The first topic level is used to identify the type of availability message 700, thus enabling differentiation between different types of availability messages 700, if necessary.

[0158] Another type of availability message 700 could be, for example, availability messages 700 published by applications rather than services. This further type of availability message 700 could then be indicated by another topic element in the first topic level, to which a different constant value would be assigned.

[0159] The differentiation of availability message types 700 does not necessarily have to be done via a topic level, but can also be indicated by the message content of the availability message 700. However, by differentiating using a topic level, applications, especially when using the "MQTT version 5.0" standard, have the option of continuing to receive only availability messages 700 from services by subscribing to topics below the fifteenth topic element "sv" 1003, even when an extended procedure with additional availability message types is used.

[0160] The second topic level following the first topic level in the first topic tree section 1025 has a sixteenth topic element "[clid]" 1004. However, a large number of topic elements can be arranged on the second topic level. The value "[clid]" represents a placeholder 471, which can, for example, correspond to a participant identification assigned to a communication participant in the Figure 8 The automation system 800 shown is assigned to identify the associated message intermediary or subscriber message intermediary.

[0161] If the participant identification is a so-called fully qualified hostname including an Internet domain value such as "ipc4711.example.com", the fully qualified hostname - in the example "ipc4711.example.com" - can be used as the value for the placeholder 471 "[clid]" in the sixteenth topic element "[clid]" 1004.

[0162] Instead of a single second topic level, the second topic level can also be divided into several consecutive topic levels. For the fully qualified hostname "ipc4711.example.com" for participant identification, as an alternative to representation in one topic element in a second topic level, three topic elements in three consecutive second topic levels can be used, where the three topic elements then have the values ​​"com", "example", "ipc4711" in that order.

[0163] The second topic level allows applications to subscribe to availability messages 700 for specific subscriber identifications if they are interested in services that maintain direct communication links with message intermediaries 801 to which suitable subscriber identifications are assigned. The subscriber identification can be inserted into the availability message 700 topic as a single second topic level or a sequence of second topic levels before, during, or after the service itself, the subscriber message intermediary in the communication subscriber, or the switching bridge connected to the communication subscriber sends the availability message 700.

[0164] However, the participant identification does not have to be displayed in the availability message 700 as a topic layer, but can also be represented by the message content of the availability message 700, as in Figure 5 shown.

[0165] A third topic level, following the second topic level in the first topic tree section 1025, has a seventeenth topic element "[svns]" 1005. However, a large number of topic elements can be arranged at the third topic level. The placeholder 471 "[svns]" in the seventeenth topic element "[svns]" 1005 stands for "service namespace" and allows the same value for a service name to be used for different services, even if these services are directly connected to the same subscriber message intermediary or message intermediary 801.

[0166] Each communication participant can be assigned a unique value for the placeholder 471 "[svns]". Communication participants can then autonomously assign service names to their services without mutual coordination; these names can even be identical. Applications can differentiate the services of the various communication participants based on the value for the placeholder 471 "[svns]" in the third-level topic elements.

[0167] Providing a third topic level in the first topic tree section 1025 is particularly advantageous when services are provided in so-called containers, i.e., executable units, and are executed by the operator of a communication participant in an execution environment for container instances within the communication participant. This is because the operator of the communication participant is generally limited in their options regarding the value of the service names within the containers used by the operator.

[0168] The eighteenth topic element "s" 1006 and the nineteenth topic element "p" 1007 of the fourth topic level, which follows the third topic level in the first topic tree section 1025, each specify a service designation. In the Figure 8In the Automation System 800 shown, only the values ​​"s" and "p" are used for the service designations. The service designation represents a service type 711, such as a database, a file system, or a programmable controller, and, as already explained, is not unique within the Automation System 800.

[0169] For example, if the value of the first participant identification 832 for the first participant message intermediary 802 in the first communication participant 806 is "ipc4711.example.com", and if the sixteenth topic element "[clid]" 1004 is used instead of the second topic level in the first topic tree section 1025, which is divided into several topic elements in successive topic levels, then the topic of an availability message 700 for the first service 860, which has the letter "s" as its first service name 870, formulated according to the standard "MQTT version 5.0", can be "m / sv / com / example / ipc4711 / dm / s". The placeholder 471 "[svns]" in the seventeenth topic element "[svns]" 1005 of the third topic level is set to the value "dm", which stands for "device management".The advantage of this design of the topics for availability messages 700 is that applications can easily subscribe to the availability messages 700 of groups of services of an Internet domain, for example with the topic filter "m / sv / com / example / #".

[0170] If the first participant identification 832 is represented in a single topic level with the value "ipc4711.example.com", then the topic for an availability message 700 is "m / sv / ipc4711.example.com / dm / s". With availability messages 700 structured in this way, applications can easily subscribe to availability messages 700 from services of a specific service namespace in the automation system 800, for example, using the topic filter 451 "m / sv / + / dm / +".

[0171] The switching bridges of the Automation System 800 utilize subscription lists and translation tables. Subscriptions allow the switching bridges to subscribe to topics with the message intermediaries connected to them, which are then forwarded by the switching bridges. The translation tables enable the switching bridges to modify the topic or reply topic 481 before, during, or after transmission, if necessary.

[0172] Figure 11 shows, as an example, a first group 1200 of two sets, each with a subscription list and each with two translation tables for the first switching bridge 810 in the automation system 800, which bears the first bridge designation "e" 820.

[0173] A first set 1201 contains a first subscription list 1211, a first translation table 1212, and a second translation table 1213. The first subscription list 1211 includes topic filters that the first switching bridge 810 subscribes to at the message relay 801. The first translation table 1212 contains translation rules for topics of messages that are received by the first switching bridge 810 from the message relay 801 for forwarding to the first subscriber message relay 802, using the subscriptions of the first subscription list 1211.

[0174] The second translation table 1213 includes translation rules for reply topics 481 of messages that are received by the first intermediary bridge 810 from the message intermediary 801 for forwarding to the first subscriber message intermediary 802 using the subscriptions of the first subscription list 1211.

[0175] Similarly, a second set 1202 includes a second subscription list 1221, a third translation table 1222, and a fourth translation table 1223. The second subscription list 1221 includes topic filters that the first intermediary bridge 810 subscribes to at the first subscriber message intermediary 802.

[0176] The third translation table 1222 includes translation rules for topics of messages that are received by the first subscriber message intermediary 802 for forwarding to the message intermediary 801 by means of the subscriptions of the second subscriber list 1221 through the first intermediary bridge 810.

[0177] The fourth translation table 1223 includes translation rules for reply topics 482 of messages that are received by the first subscriber message intermediary 802 for forwarding to the message intermediary 801 by means of the subscriptions of the second subscription list 1223 through the first intermediary bridge 810.

[0178] The first subscription list 1211 has a first line with a first topic filter "m / #" 1231 and a second line with a second topic filter "d / e / #" 1232. The first topic filter "m / #" 1231 causes the first switching bridge 810 to forward all availability messages 700 published at the message intermediary 801. The second topic filter "d / e / #" 1232 causes the first switching bridge 810 to receive all request messages 740 and response messages 780 published at the message intermediary 801 and to forward them via the first switching bridge 810.

[0179] The first translation table 1212 includes a first row with a third topic filter "m / #" 1233 on both the first input page "in" 1261 and the first output page "out" 1262, which causes the topic of availability messages 700 to be forwarded unchanged from the first switching bridge 810 to the first subscriber message intermediary 802.

[0180] The first translation table 1212 further includes a second row with a fourth topic filter "d / e / / #" on the first input page "in" 1261 and a fifth topic filter "l / #" on the first output page "out" 1262. The rule in the second row of the first translation table 1212 causes the first relay station 810 to remove the delivery path from the topic of messages when forwarding them from the message relay 801 to the first subscriber message relay 802 and replace it with the second root "l" 1102. The second root "l" 1102 indicates services or applications that have subscribed to the topic and have a direct communication connection to the subscriber message relay, which is the case for the first service 860 in the first communication subscriber 860 with respect to the first subscriber message relay 802.

[0181] Furthermore, the first translation table 1212 includes a third row with a sixth subject filter "d / e / #" 1236 on the first input side "in" and a seventh subject filter "d / #" 1237 on the first output side "out" 1262. The rule in the third row of the first translation table 1212 reduces the delivery paths in the subject of messages by the bridge designation "e" 820 of the first switching bridge 810 when forwarding from the message relay 801 to the first subscriber message relay 802. These paths would not yet have reached their destination upon publication at the first subscriber message relay 802 and would still need to be forwarded via at least one more route segment. This is unnecessary for the first communication subscriber 806, as it only has one switching bridge.

[0182] The second translation table 1213 has a first row with an eighth topic filter "l / #" 1238 on the second input page "in" 1263 and a ninth topic filter "d / e / / #" 1239 on the second output page "out" 1264. The first row assigns a delivery path to the reply topic 481 of messages if it was published to message intermediary 801 by a service or application directly connected to it. In the automation system 800, no services or applications are directly connected to message intermediary 801, therefore this rule is not needed.

[0183] The second translation table 1213 further comprises a second row with a tenth topic filter "d / #" 1240 on the second input side "in" 1263 and an eleventh topic filter "d / e / #" 1241 on the second output side "out" 1264. The rule of the second row of the second translation table 1213 causes the delivery path in the reply topic 481 of messages to be extended by the bridge designation "e" 820. In the automation system 800, the first switching bridge 810 thus supplements the reply topic 481 of messages when forwarding from the message relay 801 to the first subscriber message relay 802.

[0184] The in Figure 11The first set 1201 and second set 1202, containing subscription lists and translation tables, represent the two directions of message transmission through the first switching bridge 810 in the automation system 800. The first set 1201 represents the forwarding of messages from the message relay 801 to the first subscriber message relay 802 via the first switching bridge 810. The second set 1202 then applies to the reverse direction of message forwarding from the first subscriber message relay 802 to the message relay 801 via the first switching bridge 810.

[0185] The second subscription list 1221, the third translation table 1222, and the fourth translation table 1223 of the second sentence 1202, and the first subscription list 1211, the first translation table 1212, and the second translation table 1213 of the first sentence 1201 have identical content. However, a difference exists in their use within the 800 automation system.

[0186] The second subscription list 1221, which displays the subscriptions of the first switching bridge 810 at the first subscriber message intermediary 802, includes, like the first subscription list 1221, which displays the subscriptions of the first switching bridge 810 at the message intermediary 801, a first line with a twelfth topic filter "m / #" 1242 and a second line with a thirteenth topic filter "d / e / #" 1243.

[0187] The third translation table 1222 has a first row with a fourteenth subject filter "m / #" 1244 on both the third input page "in" 1265 and the third output page "out" 1266, which causes the subject of availability messages 700 to be forwarded unchanged from the first switching bridge 810 to the message intermediary 801.

[0188] The third translation table 1222 further includes a second row with a fifteenth topic filter "d / e / / #" 1245 on the third input page "in" 1265 and a sixteenth topic filter "l / #" 1246 on the third output page "out" 1266. The rule of the second row of the third translation table 1222 is not required in the automation system 800, unlike the rule of the second row of the first translation table 1212, because no services or applications are directly connected to the message intermediary 801 that would use the second root "l" 1102 for the topics of their messages and their subscriptions.

[0189] Furthermore, the third translation table 1222 has a third row with a seventeenth subject filter "d / e / #" 1247 on the third input side "in" 1265 and an eighteenth subject filter "d / #" 1248 on the third output side "out" 1266. The rule in the third row of the third translation table 1222 reduces the delivery paths in the subject of messages by the first bridge designation "e" 820 of the first switching bridge 810 when forwarding from the first subscriber message server 802 to the message server 801.

[0190] The fourth translation table 1223 comprises a first row with a nineteenth subject filter "l / #" 1249 on the fourth input page "in" 1267 and a twentieth subject filter "d / e / / #" 1250 on the fourth output page "out" 1268. According to the rule in the first row of the fourth translation table 1223, the reply subject 481 of messages receives a delivery path when it has been published at the first subscriber message intermediary 802 by the directly connected service 860. The rule causes the first switching bridge 810 to change the second root "l" 1102 to the second root "d" 1103 to indicate that the reply subject of messages receives a delivery path, additionally entering the first bridge designation "e" 820 and the end of the return path description with an empty path segment designation.The rule of the first row of the third translation table 1222 is used by automation system 800, unlike the rule of the first row of the second translation table 1213, for example for availability messages as well as reply messages.

[0191] The fourth translation table 1223 further includes a second row with a twenty-first topic filter "d / #" 1251 on the fourth input page "in" 1267 and a twenty-second topic filter "d / e / #" 1252 on the output page "out" 1268. The rule of the second row of the fourth translation table 1223, which causes the delivery path in the reply topic 481 of messages to be extended by the first bridge designation "e" 820, is not required in the automation system 800, unlike the rule of the second row of the second translation table 1213, because the reply messages 780 published by services in the first subscriber message intermediary 802 do not contain a delivery path in the reply topic 481.

[0192] All groups of two sets, each with a subscription list and two translation tables, assigned to a switching bridge in the Automation System 800, have the same structure as in Figure 11The first connecting bridge 810 is explained. However, regarding the content, instead of the first bridge designation "e", the bridge designation assigned to the corresponding connecting bridge is entered.

[0193] The sets containing subscription lists and translation tables do not need to be preconfigured for the individual relay bridges. The relay bridge can generate the subscription lists and translation tables independently by inserting the bridge name. Configuring a relay bridge requires only specifying which two message relays the relay bridge establishes a communication link between and which bridge name is assigned to the relay bridge.

[0194] Figure 12 displays 800 in the automation system. Figure 8The process occurs when a fourth-service availability message 1804 is published by the fourth service 863 to the third subscriber message intermediary 804, which is directly connected to the service, in the third communication participant 808. The fourth-service availability message 1804 is, in accordance with the Figure 5 The availability message shown is set to 700 and has the optional one-time value 704.

[0195] The third subscriber message intermediary 804 delivers an unaltered first message copy 1806 of the Fourth Service Availability Message 1804 to the first application 864 and second application 865 directly connected to the third subscriber message intermediary 804, if they have established corresponding subscriptions.

[0196] A second message copy 1801 of the Fourth Service Availability Message 1804 is forwarded by the third subscriber message server 804 via the third switching bridge 812 to the message server 801 of the automation system 800, whereby the subject and reply subject 481 in the second message copy 1801 of the Fourth Service Availability Message 1804 are processed according to the translation tables of the third switching bridge 812. The reply subject 481 receives a return path description that includes the path segment designation of the third switching bridge 812. The subject, however, remains unchanged. The third switching bridge 812 also stores the unique value 704 from the second message copy 1801.

[0197] The message intermediary 801 then transmits, based on the second message copy 1801, a third message copy 1802 of the Fourth Service Availability Message 1804 via the first switching bridge 810 to the first subscriber message intermediary 802, a fourth message copy 1803 of the Fourth Service Availability Message 1804 via the second switching bridge 811 to the second subscriber message intermediary 803, and a fifth message copy 1805 of the Fourth Service Availability Message 1804 via the fourth switching bridge 813 to the fourth subscriber message intermediary 805.

[0198] When the respective message copy is delivered to the subscriber message intermediary, the relay bridge processes the subject or the reply subject 481 according to the assigned translation table, whereby the return path description in reply subject 481 is extended to include the route segment designation of the respective relay bridge, while the subject itself remains unchanged. The relay bridge also stores the unique value 704 from the message copy.

[0199] The third switching bridge 812, however, ignores the subscription to availability message 700 from message intermediary 801, because the third switching bridge 812 already knows the unique value 704 from the second message copy 1801.

[0200] The third message copy (1802), fourth message copy (1803), and fifth message copy (1805) are also fed back to their assigned relay stations by the first subscriber message distributor (802), second subscriber message distributor (803), and fourth subscriber message intermediary (805), respectively, because each relay station has a subscription to availability notification 700 with the subscriber message intermediary. However, the relay stations do not forward the message copies to message intermediary 801, as the unique value 704 from the third message copy (1802), fourth message copy (1803), and fifth message copy (1805) is already known to the relay stations.

[0201] Feedback through repeated and multiplied transmission of message copies is thus prevented, because the use of the unique value 704 in the availability message 700 enables the detection of already transmitted message copies.

[0202] Figure 13 displays 800 in the automation system. Figure 8The process in which both the first application 864 in the third communication participant 808 responds with a first-application request message 1904 to the delivery of the fifth message copy 1805 of the fourth-service availability message 1804 from the fourth service 863 in the third communication participant 808, and the third application 866 in the fourth communication participant 809 responds with a third-application request message 1901 to the delivery of the fifth message copy 1805 of the fourth-service availability message 1804 from the fourth service 863 in the third communication participant 808. However, no response is generally required to availability messages.

[0203] The First Application Request Message 1904 and the Third Application Request Message 1901 are, in accordance with the above, Figure 6 The request message shown is 740.

[0204] The first application 864 and the third application 866 use the reply topic 481 of the fifth message copy 1805 and the first message copy 1806, respectively, as the subject in the first application request message 1901 and the third application request message 1904. The return path description of the reply topic 481 serves as the delivery path in the subject.

[0205] The first application 864 publishes the first application request message 1904 to the directly connected third subscriber message intermediary 804 in the third communication subscriber 808. Furthermore, the third application 866 publishes the third application request message 1901 to the directly connected fourth subscriber message intermediary 805 in the fourth communication subscriber 809.

[0206] The third subscriber message intermediary 804 then transmits the first application request message 1904 as an unchanged first message copy 1905 to the fourth service 863, since the first application 864 and the fourth service 863 are directly connected to the third subscriber message intermediary 804 as part of the third communication subscriber 808.

[0207] The third switching bridge 812, connected to the third subscriber message intermediary 804, does not forward the first application request message 1904 because the third switching bridge 812 has not subscribed to a topic filter 451 matching the subject of the first application request message 1904 at the third subscriber message intermediary 804.

[0208] The fourth subscriber message intermediary 805 in the fourth communication subscriber 809 transmits a sixth message copy 1902 of the third application request message 1901 to the message intermediary 801 via the fourth switching bridge 813, since the third switching bridge 812 has subscribed to a topic filter 451 matching the topic of the fourth application request message 1904 at the third subscriber message intermediary 804. In this process, the value of the delivery path in the topic of the sixth message copy 1902 of the third application request message 1901 is reduced by the path segment designation of the fourth switching bridge 813 during transmission to the message intermediary 801.

[0209] In contrast to an availability message 700, the sixth message copy 1902 of the third application request message 1901 is only forwarded by the central participant message intermediary 801 via the third switching bridge 812, since the other switching bridges have not subscribed to any topic filters 451 matching the delivery path in the subject of the sixth message copy 1902 of the third application request message 1901 with the message intermediary 801.

[0210] The third switching bridge 812 then transmits a seventh message copy 1903 of the third application request message 1901 to the third subscriber message intermediary 804 in the third communication subscriber 806. The value of the delivery path in the subject of the seventh message copy 1903 of the third application request message 1901 is reduced by the path segment designation of the third switching bridge 812 during transmission to the third subscriber message intermediary 804 and is then empty or no longer present, since the third application request message 1901 has reached the third subscriber message intermediary 804, which is directly connected to the fourth service 863 in the third communication subscriber 808.

[0211] The third subscriber message intermediary 804 then delivers the seventh message copy 1903 to the fourth service 863, which is directly connected to the third communication subscriber 806.

[0212] The preceding explanation shows that feedback loops caused by multiple transmissions of request messages 740 are avoided. The delivery path within the subject of request message 740, using the various subscriptions of the switching bridges, ensures forwarding via precisely one route.

[0213] Figure 14 displays 800 in the automation system. Figure 8 the process when the fourth service 863 in the third communication participant 808 responds to the delivery of the eighth message copy 1905 of the first application request message 1904 of the first application 864 in the third communication participant 808 with a first fourth service reply message 2004 and to the delivery of the seventh message copy 1903 of the third application request message 1901 of the third application 866 in the fourth communication participant 809 with a second fourth service reply message 2001.

[0214] The first Fourth Service reply message of 2004 and the second Fourth Service reply message of 2001 are, according to the [document / section], Figure 7 The response message shown is 780.

[0215] If a If a service generates and publishes a reply message 780, then, analogous to the availability message 700, the reply topic 481 in the reply message 780 is changed in the respective transmitted message copy of switching bridges according to its respective assigned translation table, if it is contained in the reply message 780, and thus the return path description is recorded, which can be used by the application as a new value for further request messages 740.

[0216] The fourth service 863, when sending a reply message 780, uses the reply subject 481 of the eighth message copy 1905 of the first application request message 1904 as the subject for the first fourth service reply message 2004 and the reply subject 481 of the seventh message copy 1903 of the third application request message 1901 as the subject for the second fourth service reply message 2001.

[0217] The request message 740 can also contain correlation data. The service then copies the correlation data from the respective request message 740 into the response message 780, and the communication participant can, upon receiving the response message 780, determine which request message 740 the response message 780 belongs to.

[0218] How Figure 14As shown, the fourth service 863 publishes the first fourth-service reply message 2004 to the third subscriber message intermediary 804, which is directly connected to the service, in the third communication participant 808. The third subscriber message intermediary 804 then delivers an unchanged ninth message copy 2005 of the first fourth-service reply message 2004 to the first application 864, which is directly connected to the third subscriber message intermediary 804, because the first application 864 has a corresponding subscription with the third subscriber message intermediary 804.

[0219] The third relay bridge 812, connected to the third subscriber message intermediary 804, does not forward the first fourth service reply message 2004 because the third relay bridge 812 has not subscribed to a topic filter 451 matching the subject of the first fourth service reply message 2004 at the third subscriber message intermediary 804.

[0220] How Figure 14 As further shown, the fourth service 863 also publishes the second fourth-service reply message 2004 to the third participant message intermediary 804, which is directly connected to the service, in the third participant message intermediary 808. Since the topic tree of the third participant message intermediary 804 does not contain a matching subscription to the first application 864 or the second application 865, the third participant message intermediary 804 does not then deliver any message copies of the first fourth-service reply message 2004 to the applications directly connected to the third participant message intermediary 804.

[0221] The third subscriber message intermediary 804 transmits a tenth message copy 2002 of the second fourth-service reply message 2001 to message intermediary 801 via the third switching bridge 812, because the third switching bridge 812 has subscribed to a topic filter 451 matching the subject of the second fourth-service reply message 2001 at the third subscriber message intermediary 804. In this process, the value of the delivery path in the subject of the tenth message copy 2002 of the second fourth-service reply message 2001 is reduced by the path segment designation of the third switching bridge 812 during transmission to message intermediary 801.

[0222] The message relay 801 then issues the tenth message copy (2002) of the second fourth-service reply message (2001) to the fourth relay station 813, because the fourth relay station 813 has subscribed to the delivery path in the subject of the tenth message copy (2002) of the second fourth-service reply message (2001) with message relay 801. No message copies of the second fourth-service reply message (2001) are forwarded via the other relay stations connected to message relay 801, as there is no corresponding subscription on the delivery path in the subject.

[0223] The value of the delivery path in the subject of a seventh message copy 1903 of the second fourth-service reply message 2001 is reduced by the path segment designation of the fourth switching bridge 813 during transmission to the fourth subscriber message intermediary 805 and is then empty or no longer present, since the second fourth-service reply message 2001 has reached the fourth subscriber message intermediary 805, which is directly connected to the addressee of the second fourth-service reply message 2001, the third application 866 in the fourth communication subscriber 809.

[0224] The fourth subscriber message intermediary 805 then delivers the eleventh message copy 2003 of the second fourth service reply message 2001 to the third application 866 in the fourth communication subscriber 809.

[0225] The preceding explanation again demonstrates that feedback loops caused by multiple transmissions are avoided even with reply messages 780. The delivery path in the subject line of reply message 740, with the help of the different subscriptions of the switching bridges, ensures forwarding via precisely one route.

[0226] What this is based on the Figures 12 to 14 As far as the procedure is concerned, it makes no difference whether intermediary designations or bridge designations are used as route section designations in the topics or response topics 481 of availability messages 700, request messages 740 and response messages 780.

[0227] In the case of an expansion of the in Figure 8In the automation system 800 shown, with a new system section comprising additional communication participants with services and applications, participant message switches, and switching bridges, new topic tree sections are added to the topic trees due to the new path possibilities. Only the added parts of the automation system and the participant message switch, or the message switch to which the new system section is connected via a new switching bridge, require a new configuration. All other parts of the automation system remain unchanged. Added parts do not need to be connected to message switch 801; they can be connected to any participant message switch of the existing automation system 800 via another switching bridge.It is even possible for a communication participant to take over the task of the 801 message intermediary with its participant message intermediary, meaning that services and applications with a direct communication connection can also be connected to the 801 message intermediary.

[0228] The formation rules for the topic trees, subscription lists and translation tables explained above cause an automatic redirect to the message intermediary or subscriber message intermediary to which the new system section is connected, because availability messages 700 from services of the new system section are published via all message intermediaries 801 and thus further return path descriptions and delivery routes become valid.

[0229] In principle, it may also be possible to selectively or generally suppress the forwarding of availability messages 700 or messages between old and new parts of the automation system 800 in the switching bridges connected to the message intermediary to which the new system section is connected via a new switching bridge.

[0230] In automation systems 800 with a network of message relays 801, overlapping topic trees are formed because availability messages 700 and messages can be transmitted via different paths. This allows for an implicit adjustment of the delivery paths when the topology changes or in case of connection overload. Reference sign

[0231] 341 message 400Theme tree 410fourth theme element 411sixth theme element 412ninth theme element 413tenth theme element 415seventh theme element 420fifth theme element 430first theme element 431eighth theme element 432eleventh theme element 433twelfth theme element 435second theme element 436thirteenth theme element 437fourteenth theme element 438third theme element 441Theme name 451 topic filters 461 first layer separator 462 second layer separator 463 third layer separator 464 fourth layer separator 465 fifth layer separator 471 Placeholder 481 Answer topic 482 Task topic 491 Correlation information 700 Availability message 701 Initial metadata 702 Initial topic name 704 Unique value 710 Initial message content 711 Service type 712 Participant identification 713 Service version 720 First return route description 721 First route section designation 722 Second route section designation 723 Third route section designation 724 Fourth route section designation 725 Fifth route section designation 730 second return route description 740 Request message 741 Second metadata 742 First delivery route 743 Second return route description 744 First correlation data 750th second message content 780 Reply message 781 Third metadata 782 Second delivery route 783 Third return route description 784 Second correlation data 790 Third message content 800 Automation system 801 Message intermediary 802 First subscriber message intermediary 803 Second subscriber message intermediary 804 Third subscriber message intermediary 805 Fourth subscriber message intermediary 806 first communication participant 807 second communication participant 808 third communication participant 809 fourth communication participant 810 first switching bridge 811 second switching bridge 812 third switching bridge 813 fourth switching bridge 820 first bridge designation e 821 second bridge designation f 822 third bridge designation g 823 fourth bridge designation h 832 first participant identification 833 second participant identification 834 third participant identification 835 fourth participant identification 842 first intermediary designation 843 second intermediary designation 844 third intermediary designation 845 fourth intermediary designation 850 first communication link 851 second communication link 852 third communication link 853 fourth communication link 854 fifth communication link 855 sixth communication link 856 seventh communication link 860 first service 861 second service 862 third service 863 fourth service 864 first application 865 second application 866 third application 870 first service designation 871 second service designation 872 third service designation 873 fourth service designation 874 first application designation 875 second application designation 876 third application designation 880 first object collection 881 second object collection 882 third object collection 883 fourth object collection 1000th topic tree 1001st root m 1002nd root d 1003fifteenth topic element 1004sixteenth topic element 1005seventeenth topic element 1006eighteenth topic element 1007nineteenth topic element 1020 first path tree layer 1021 second theme tree section 1022 third theme tree section 1023 fourth theme tree section 1024 fifth theme tree section 1025 first theme tree section 1031 first path theme element e 1032 second path theme element f 1033 third path theme element g 1034 fourth path theme element h 1035 first stop theme element 1036 second stop theme element 1037 third stop theme element 1038 fourth stop theme element 1100 second topic tree 1101 second root m 1102 second root l 1103 second root d 1120 Second path tree layer 1121 Sixth theme tree section 1122 Seventh theme tree section 1123 Eighth theme tree section 1124 Ninth theme tree section 1130 Fifth path theme element e 1131 Sixth path theme element f 1132 Seventh path theme element g 1133 Eighth path theme element h 1141fifth stop theme element 1142sixth stop theme element 1143seventh stop theme element 1200 first group 1201 first set 1202 second set 1211 First subscription list 1212 First translation table 1213 Second translation table 1221 Second subscription list 1222 Third translation table 1223 Fourth translation table 1231 first topic filter "m / #" 1232 second topic filter "d / e / #" 1233 third topic filter "m / #" 1234 fourth topic filter "d / e / / #" 1235 fifth topic filter "l / m" 1236 sixth topic filter 1237 seventh topic filter 1238 eighth topic filter "l / #" 1239 ninth topic filter "d / e / / #" 1240 tenth topic filter "d / #" 1241 eleventh topic filter "d / e / #" 1242 twelfth topic filter "m / #" 1243 thirteenth topic filter "d / e / #" 1244 fourteenth topic filter "m / #" 1245 fifteenth topic filter "d / e / / #" 1246 sixteenth topic filter "l / #" 1247 seventeenth topic filter "d / e / #" 1248 eighteenth topic filter "d / #" 1249 nineteenth topic filter "l / #" 1250 twentieth topic filter "d / e / / #" 1251 twenty-first topic filter "d / #" 1252 twenty-second topic filter "d / e / #" 1261 First entrance page 1262 First exit page 1263 Second entrance page 1264 Second exit page 1265 Third entrance page 1266 Third exit page 1267 Fourth entrance page 1268 Fourth exit page 1801 Second message copy 1802 Third message copy 1803 Fourth message copy 1804 Fourth service availability message 1805 Fifth message copy 1806 First message copy 1901 Third application request message 1902 Sixth message copy 1903 Seventh message copy 1904 First application request message 1905 Eighth message copy 2001 Second Fourth Service Reply Message 2002 Tenth Message Copy 2003 Eleventh Message Copy 2004 First Fourth Service Reply Message 2005 Ninth Message Copy

Claims

1. An automation system (800) having a communication infrastructure which comprises a plurality of communication subscribers which are each connected to at least one message broker (801) via a communication link, wherein the communication subscribers are embodied to publish messages under topic names (441) or to subscribe to messages under topic names (441) with the message broker (801), wherein the communication subscribers have a subscription to availability messages (700) with the message broker (801), said messages indicating that a communication subscriber is providing a service, characterized in that the availability messages (700) each comprise a first return route description (720) which, during transmission between the communication subscribers via the communication links to the message broker (801), is extended in each case with a route section designation for the route sections covered, wherein an interaction takes place between the communication subscribers in which at least a first communication subscriber (806) which has subscribed to messages under a first topic name (702) with the message broker (801) publishes an availability message (700) under the first topic name (702) with the message broker (801), indicating that the first communication subscriber (806) is providing a service associated with the first topic name (702), wherein each further communication subscriber receives a message copy of the availability message (700) with a first return route description (720), which comprises the route section designations for the route sections traveled starting from the first communication subscriber (806), in which at least one second communication subscriber (807) publishes a request message (740) for the service under the first topic name (702) with the message broker (801), the second communication subscriber (807) using the first return route description (703) of the message copy of the availability message (700) of the service as the delivery route in the request message (700) to the first communication subscriber (809), the delivery route of the request message (740) being reduced by the route section designation of the route section traveled in each case during transmission from the second communication subscriber (807) to the first communication subscriber (806) via the communication links to the message broker (801).

2. The automation system (800) according to claim 1, wherein the second communication subscriber (807) has subscribed to messages under a second topic name with the message broker (801), wherein the request message (740) comprises a second return route description (730), which is extended by the route section designation of the route section traveled in each case during transmission from the second communication subscriber (807) to the first communication subscriber (806) via the communication links to the message broker (801), and wherein the first communication subscriber (806) publishes a response message (780) from the service to the request message (740) under the second topic name (702) with the message broker (801), wherein the first communication subscriber (806) uses the second return route description (730) of the request message (740) as the delivery route in the response message (780) to the second communication subscriber (807), wherein the delivery route of the response message (740) is reduced by the route section designation of the traveled route section during transmission from the first communication subscriber (806) to the second communication subscriber (807) via the communication links to the message broker (801).

3. The automation system (800) according to claim 1 or 2, wherein the availability message (700) comprises first metadata (701) and a first message content (710), wherein the first metadata (701) comprises the first topic name (702), the first return route description (720) and a unique value (704), and wherein the first message content (710) comprises a service type (711) and optionally a service version (713).

4. The automation system (800) according to any one of claims 1 to 3, wherein each communication subscriber comprises a subscriber message broker connected to the message broker (801) via the associated communication link, wherein each subscriber message broker is associated with a broker designation that uniquely identifies the subscriber message broker with respect to the further subscriber message brokers connected to the message broker (801).

5. The automation system (800) according to claim 4, wherein the communication subscriber comprises a service and / or an application, each of which is connected to the subscriber message broker of the communication subscriber via a communication link, wherein the service and / or the application are embodied to publish messages under topic names (441) or to subscribe to messages under topic names (441) at the subscriber message broker of the communication subscriber.

6. The automation system (800) according to claim 5, wherein in the communication subscriber each service is assigned a service designation and each application is assigned an application designation, which uniquely designate the service or the application in the communication subscriber.

7. The automation system (800) according to any one of claims 1 to 6, wherein the communication links of the communication subscribers to the message broker (801) are each switching bridges, wherein each switching bridge is assigned a bridge designation which uniquely identifies the switching bridge with respect to the further switching bridges which are connected to the message broker (801).

8. The automation system (800) according to claim 7, wherein the switching bridges comprise subscriptions and translation tables, wherein the switching bridges are configured to use the subscriptions to subscribe to topic names (441) at the subscriber message brokers connected to the switching bridges to be forwarded by the switching bridges, and wherein the switching bridges are configured to use the translation tables to modify the topic names (441) upon transmission.

9. The automation system (800) according to any one of claims 1 to 8, wherein the message broker (801) comprises a topic tree (400) in which a distinction is made between topic names (441) that contain a delivery route and those that do not contain a delivery route.

10. The automation system (800) according to claim 9, wherein the delivery route is part of the topic name (441) in each case.

11. The automation system (800) according to claim 9 or 10, wherein availability messages (700) are identified in the topic tree (400).