Abstract:
A gateway, operable in a hierarchical heterogeneous network, includes at least two interfaces of which at least one is connectable to a lower network level, and the communication protocols in the network provide a message for offering a service and a message for searching for a service, receipt of a message coming in from a lower network level in the gateway at an interface for offering a service, and/or an item of information identifying the offered service, is noted in the interface receiving this message or in a management unit assigned thereto, and receipt of a message from a lower network level in the gateway at an interface for searching for a service and/or an item of information identifying the sought service is noted in the interface or management unit, and if the messages relate to the same service, a message for the service availability is sent via the interface.

Description:
RELATED APPLICATION INFORMATION 
       [0001]    The present application claims priority to and the benefit of German patent application no. 10 2015 216 284.2, which was filed in Germany on Aug. 26, 2015, the disclosure of which is incorporated herein by reference. 
       FIELD OF THE INVENTION 
       [0002]    The present invention relates to a method for operating a gateway in a hierarchical heterogeneous network, the gateway including at least two interfaces of which at least one interface is capable of being connected to a lower network level, and the protocols provided for communication in the network providing messages for offering a service (referred to as OFFER messages hereinafter) and messages for searching for a service (referred to as FIND messages hereinafter). The present invention also relates to a gateway in a hierarchical heterogeneous network and to a computer program that is stored on a gateway in a hierarchical heterogeneous network. 
       BACKGROUND INFORMATION 
       [0003]    Due to the increasing communication of control devices in many areas of technology, for example in the automotive field, efforts are being made to supplement or expand communication solutions with methods that are built on the technologies designated Ethernet and based on the IP (Internet Protocol) network stack. An example is the so-called SOME/IP (Scalable Service-Oriented Middleware over IP). This is based on the IP network stack and was developed for use in Ethernet networks in vehicles. 
         [0004]    A service discovery method makes it possible to resolve the IP address and the port of a sought service in SOME/IP. After the address resolution has taken place, a connection can be created to the node having the corresponding service, and its service can be used. There can be various instances of a service that can be found using a single search request for the particular service. A service discovery method, for example that of SOME/IP, can in principle be initiated from two sides. A node that requires a particular service can initiate the search by sending a search request provided for this purpose (referred to as a FIND message hereinafter). The FIND message contains the description of the sought service (for example a service ID). A provider of this service can react with a response in which the sought service is offered (referred to as an OFFER message hereinafter). However, the initiative can also originate from the provider of a service, so that the provider sends out an OFFER message without a concrete request from a potential subscriber. In this way, a node that requires a particular service can be informed concerning the availability without itself having to send out a search request. 
         [0005]    Standardly, the SOME/IP protocol is not designed for a routing over different subnetworks having different address regions. Because the addresses valid only in a subnetwork are contained in the protocol header, a gateway between two subnetworks has to adapt the address information. This is a problem that is also known from other network protocols. A proposal for the operation of a gateway so as to solve this problem is not contained in the SOME/IP specification. The use of SOME/IP for the bus systems CAN and FlexRay, widely used in vehicle systems, is seen as not practicable, and for this reason only particular Ethernet subnetworks are addressed in a vehicle. 
         [0006]    Patent document DE 10 2010 042 601 A1 discusses a method for distributing information in hierarchically constructed networks. Here, nodes of one level communicate to the assigned node of the next-higher level which information they provide and which information they require. In this way, it is possible to realize a hierarchically constructed distribution of information. In this known method, the communication in a subnetwork always runs via the assigned node of the higher level. The method of DE 10 2010 042 601 A1 starts from the assumption that a node knows which information it requires. The node sends this information concerning an offered service without a previous request by a consumer or subscriber. This means that the requirement is known ahead of time, and a static configuration is thus present. As a consequence, a particular area node knows which information the nodes below it provide and require. In this way, it can ascertain the need for information that has to be requested from the next-higher level, because it is not available at the lower level. The presence of a plurality of instances capable of offering a particular service is however not provided in the known method. 
         [0007]    Moreover, this method has disadvantages in a dynamic environment in which for example the individual nodes become active temporally independently of one another. This is because the information actually supplied and required by the lower-level nodes is not known until all nodes have communicated this. Thus, a static configuration is disadvantageous in particular given dynamically changing lower-level nodes. 
       SUMMARY OF THE INVENTION 
       [0008]    The method having the features described herein enables the configuration of heterogeneous hierarchical networks having plug-and-play properties, because the communication relations can be automatically produced via a distributed service discovery method. Here, the service providers and the subscribers to services are decoupled in such a way that no information is required concerning the concrete address or the protocol by which a particular service can be reached. In addition to this spatial decoupling, there is also a temporal decoupling, because there does not have to be any particular sequence in which a service provider and a subscriber become active in the network. 
         [0009]    The service discovery method according to the present invention is configured such that as few messages as possible have to be sent in the lower levels of the hierarchically constructed network. This is advantageous for example for networks in which the available bandwidth increases in higher levels, and in which bus systems having lower-bandwidth network technologies are used at lower levels (for example a CAN bus). Such an architecture can advantageously be used in vehicle networks in which individual domains built on bus systems such as CAN or FlexRay can be connected via an Ethernet backbone. 
         [0010]    With the method according to the present invention, it is possible to train the communication relations between control devices in a vehicle at the end of line, or in targeted fashion after a modification. This saves expense during the management of variants, the planning of the communication relations, and the configuration of the gateways. The possibilities for an update of existing software components, or a download of new software components, in a control device are also improved. If such a modification requires an adaptation of the communication relations between the control devices, this can take place automatically, and the gateways between the subnetworks can also be automatically adapted. 
         [0011]    In addition, through a service description defined beyond protocol boundaries, for example in the form of a service ID, most protocol-specific service discovery messages on a gateway can be logically translated. This enables the construction of hierarchical networks that can be made up of subnetworks having different network technologies and network protocols. 
         [0012]    In comparison to SOME/IP, the described method is not defined for a particular protocol, in particular when a common description of a service is provided (for example by a service ID). On the gateways that connect different subnetworks, a protocol translation can take place. The service discovery method and the service-oriented communication based thereon can thus be applied to the overall network, and not only in a subnetwork. This means that, using the described method, the use of the SOME/IP protocol can be expanded to a more complex network made up of subnetworks having different address regions. A subnetwork based on SOME/IP can in addition be connected to other subnetworks that use other network technologies and/or network protocols (for example CAN bus). 
         [0013]    In contrast to the method of DE 10 2010 042 601 A1, the method described here enables a dynamic adaptation of the distribution of information, because it does not have to be known ahead of time which information a node sends. Rather, the information is subscribed to as needed. If there are no subscribers, or no one who is requesting the service, the corresponding information, or service offer, also does not have to be sent. In addition, with the presented method services can be found directly on a network level and information concerning them can be exchanged. In addition, with the presented method it is also possible to have a plurality of providers of a service, and those looking for the service can decide for one or more of these service providers. 
         [0014]    In the further descriptions herein, additional advantageous developments and improvements of the method described in main descriptions herein are indicated. Through the measures described in the further descriptions herein, in particular different network architectures can be supported, different or redundant paths can be found, and it is possible to react differently to modifications of the network topology. 
         [0015]    Further features, applications, and advantages of the present invention result from the following description of exemplary embodiments, explained on the basis of the drawings; the features can be important for the present invention both by themselves and also in various combinations, without this being explicitly indicated. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  shows a block diagram representing a segment of a hierarchical network in which a provider has sent an OFFER message. 
           [0017]      FIG. 2  shows a block diagram of a segment of a hierarchical network in which a FIND message has been sent. 
           [0018]      FIG. 3  shows a block diagram of a segment of a hierarchical network in which a FIND response message or an OFFER message has been sent in response to a FIND message. 
           [0019]      FIG. 4  shows a flow diagram with possible method steps in the processing of an OFFER message. 
           [0020]      FIG. 5  shows a flow diagram with possible method steps in the processing of a FIND message. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]      FIG. 1  schematically shows a segment of a hierarchical heterogeneous network  1  in which nodes  2 ,  3 ,  4 , and  5  are shown as examples. Nodes  2  and  4  are connected to a gateway  10  via a subnetwork  6 , and nodes  3  and  5  are connected to a gateway  20  via a subnetwork  7 , for example a bus system. Gateway  10  is connected to a gateway  30  via a subnetwork  8 , and gateway  20  is also connected to gateway  30  via a subnetwork  9 . In gateway  10 , there is fashioned an interface  11  that is connected to subnetwork  6 , which realizes a lower network level. A further interface  12  of gateway  10  is connected to a higher network level  8 . Gateway  20  is fashioned analogously to gateway  10 . An interface  21  is connected to subnetwork  7 , which is a lower network level, and an interface  22  is connected to subnetwork  9 , which is a higher network level. 
         [0022]    In gateway  30  there are fashioned two interfaces  31  and  32  connected to subnetworks  8  or  9 . Here, subnetworks  8  and  9  form a lower network level relative to a subnetwork  40  that is connected to an interface  33  of gateway  30 . 
         [0023]    In  FIG. 1 , path  41  of an OFFER message, sent by the provider of a particular service, is shown by a dashed arrow. The OFFER message is conducted from node  2  via the subnetwork or bus system  6  to interface  11  of gateway  10 . This takes place for example in the form of a multicast or broadcast message. If gateway  10  receives this OFFER message, it notes the availability of the offered service at interface  11  at which the message was received, in the form of a corresponding note  13  in the interface, or in a management unit assigned to this interface. The management unit may be configured in the gateway and manages the entries or notes of all interfaces of this gateway. Analogously, a management unit can also be provided for the other gateways. Note  13  can also contain, alongside the designation of the interface at which the OFFER message was received, the concrete address of node  2  from which the OFFER message was sent in subnetwork  6 . 
         [0024]    The OFFER message received at interface  11  is forwarded in gateway  10  to interface  12  that is connected to subnetwork  8 , subnetwork  8  being a higher network level than subnetwork  6 . From interface  12 , the OFFER message is forwarded to interface  31  of gateway  30  and, corresponding to note  13 , a note  34  is stored in a region of interface  31  or in a management unit assigned to this interface. Because subnetwork  40  realizes a higher network level relative to subnetwork  8 , the OFFER message inside gateway  30  is forwarded to subnetwork  40  via interface  33 . If additional gateways are present there, then the OFFER message is also forwarded in these gateways from the respectively lower network level to the respectively higher network level. 
         [0025]      FIG. 2  shows a possible path  42  of a FIND message. The FIND message is sent from node  3  via subnetwork  7 , for example as a multicast or broadcast, and thus indicates that node  3  is looking for a service. The FIND message is forwarded to gateway  20 . In interface  21 , connected to subnetwork  7 , of gateway  20 , a note  23  is entered that indicates the receipt of FIND message  42 . This note marks the need for the service sought with the FIND message at interface  21 . In addition to the information that interface  21  identifies, the concrete address of the requesting node  3  from subnetwork  7  can also be stored in note  23 . 
         [0026]    In accordance with the rule that FIND messages from a lower network level are forwarded inside a gateway to the higher network levels, the FIND message is forwarded from interface  21  in gateway  20  to interface  22 , which is connected to subnetwork  9 , because subnetwork  9  is a higher network level relative to subnetwork  7 . Via subnetwork  9 , the FIND message reaches interface  32  of gateway  30 . In interface  32 , or in a management unit assigned to this interface  32 , a note concerning the receipt of the FIND message is stored, analogously to interface  21 . Inside gateway  30 , the FIND message is forwarded to interface  33 , which is connected to subnetwork  40 , which is a higher network level relative to subnetwork  9 . 
         [0027]      FIG. 3  is based on the assumption that an OFFER message and a FIND message, as described in  FIGS. 1 and 2 , have been sent and the corresponding notes have been stored in the interfaces or in corresponding management units. Through comparison of the entries in the interfaces, or in the management unit assigned to the interfaces, it is now determined that the presence of an OFFER message has been noted, which corresponds to the receipt of the FIND message at interface  32 . For this reason, via interface  32  a message corresponding to the received OFFER message is transmitted to subnetwork  9 . The path of this message is shown in  FIG. 3  as a dashed arrow and is designated with reference character  43 . 
         [0028]    The message arrives at gateway  20 . There, in interface  22  or in a management unit assigned to this interface, a note  24  is stored that represents the receipt of this message. Because the need for the service offer contained in the message is contained in interface  22  of gateway  20 , the message is then forwarded inside gateway  20  from interface  22  to interface  21 , and from there is sent via subnetwork  7 , so that this message reaches node  3 . The message can be fashioned as an OFFER message, but can also be fashioned as a specific FIND response message. 
         [0029]    According to the sequences shown in  FIGS. 1 through 3 , in all gateways between nodes  2  and  3 , notes, or entries concerning availability, are stored that represent the service. These can be used to convey requests or messages for the subscription to the service from node  3  to node  2 . These notes or entries can also be used or expanded in order to convey the data packets sent after the service discovery and the subscription. 
         [0030]    If requesting node  3  first becomes active, and then offering node  2  becomes active, corresponding search requests are present already before the appearance of the provider at the gateways. As soon as the provider sends the first OFFER message, these entries trigger a forwarding to the requester (node  3 ). 
         [0031]    The OFFER messages may be sent from higher to lower network levels only as a response to concrete requests, thus avoiding unnecessary messages to the respectively lower network levels. FIND messages are sent only through the subnetworks that have to be passed through in order to find a particular service, and also later for the data transport. 
         [0032]      FIG. 4  shows method steps that can run in a gateway in order to process an incoming OFFER message. In a step  100 , it is checked whether an OFFER message was received at an interface that belongs to a lower network level. If this is the case, then in a step  101  this OFFER message is forwarded to the interface or interfaces that are connected to a higher network level. In step  102 , it is checked whether an availability of the service offered by the received OFFER message is already noted on this gateway. If this is the case, the note, or entry concerning availability, is updated in the corresponding interface. If this service is not yet available on the gateway, i.e. no note exists that identifies this service as available, then in a step  103  a corresponding note is placed in the interface at which the OFFER message was received. 
         [0033]    In a step  104 , it is checked whether FIND messages, i.e. outstanding search requests for the service corresponding to the received OFFER message, are present at other interfaces. If this is the case, then in a step  105  a FIND response message or an OFFER message is forwarded to the corresponding interfaces that identify path  42  of the FIND messages. 
         [0034]      FIG. 5  shows possible method steps in the processing of a FIND message in a gateway. In step  200 , it is assumed that a FIND message has been received at an interface of the relevant gateway. A note is then entered or updated. 
         [0035]    In a step  201 , it is checked whether there exist, at other interfaces, OFFER messages matching this FIND message, i.e. whether, at another interface, a note is already stored that indicates the availability of the requested service. If this is the case, then an OFFER message or a FIND response message is sent to the interface at which the FIND message was received in step  200 . Otherwise, in a step  203  it is checked whether the FIND message was received by an interface that realizes a lower network level inside the gateway. Only if this is the case, then in a step  204  this FIND message is forwarded to the interfaces of the gateways that are assigned to a higher network level. 
         [0036]    Of course, further specific embodiments are possible that develop the specific embodiments shown as examples in  FIGS. 1 through 5 . For example, the notes, or availability entries and search entries, can be provided with a temporal validity. This permits dynamic modification in the network topology. The provider of a service, as well as possible subscribers or requesters of a service, can use cyclically sent OFFER messages and FIND messages to communicate the offers or their need. If these messages are not present, then the corresponding notes, or availability and request entries, are deleted in the interfaces of the gateways after the next time interval. Relevant nodes that have subscribed to a service can be informed if a service is no longer offered. 
         [0037]    According to a further possible specific embodiment, a FIND message that relates to a corresponding availability entry in a gateway is no longer forwarded; rather, a FIND response message, or an OFFER message, is merely sent to the requesting node. Alternatively, in the case of agreement of a FIND message with an OFFER message, the FIND message can nonetheless be forwarded. In some circumstances this makes it possible to find alternative paths, or to update the availability entries. 
         [0038]    It is also conceivable, according to alternative strategies, to forward FIND messages and OFFER messages upon receipt at an interface that is assigned to a higher network level. In this way, for example additional paths can be found, or particular network topologies can be supported. Corresponding strategies for avoiding routing loops are then however necessary. 
         [0039]    In addition, it is conceivable to configure FIND messages and OFFER messages for example through a corresponding header field in such a way that it is possible to limit the region of the network in which a service is offered or within which a service is sought. It is conceivable that a service be offered only in a subnetwork in which the provider is actually present. A gateway configured in this way would then not forward the OFFER message. This achieves the result that in subnetworks in which particular services are not required, these services are also not offered. 
         [0040]    According to a further possible specific embodiment, it can be provided that a FIND response message or an OFFER message sent after the matching of a search entry with an availability entry is sent as a multicast, broadcast, or unicast. In the case of a unicast, the service would then be offered precisely to the node that initiated the search request or FIND message. 
         [0041]    In order to save additional bandwidth, it can be provided that a gateway carries out the forwarding of FIND messages and OFFER messages only after expiration of a specified time interval. In this way, a plurality of different FIND messages and OFFER messages can be sent in a common message, and the overhead of protocol layers situated thereunder can be reduced. The same information can also be prevented from being sent multiple times in a particular time interval. 
         [0042]    In addition, in principle more instances of a service can be present in a network. Using a FIND message, it is then possible to search for a particular instance, or for all available instances, of a service. If all available instances are sought, FIND messages are generally forwarded in order to find all instances in the network. Thus, such a FIND message can be followed by a plurality of OFFER messages for various instances. As already mentioned, instead of sending an OFFER message in case of an agreement with a FIND message, it is also possible to send a FIND response message that represents a particular message type that specifically describes the situation of agreement of a search request with a service offer. Thus, a distinction in the processing of OFFER messages is possible that are forwarded upward in the network hierarchy and the responses to search requests when agreement has taken place, that are sent to lower levels as needed. In this way, a simpler realization of the method, and in particular a simplified realization of the requests inside the gateway, is enabled. 
         [0043]    Of course, the developments named above can be combined with one another.