EP4010767A1 - Communication with automatable industrial devices or systems or with the controller thereof - Google Patents

Communication with automatable industrial devices or systems or with the controller thereof

Info

Publication number
EP4010767A1
EP4010767A1 EP20749875.9A EP20749875A EP4010767A1 EP 4010767 A1 EP4010767 A1 EP 4010767A1 EP 20749875 A EP20749875 A EP 20749875A EP 4010767 A1 EP4010767 A1 EP 4010767A1
Authority
EP
European Patent Office
Prior art keywords
node
routing path
call
identifier
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20749875.9A
Other languages
German (de)
French (fr)
Inventor
Slawomir Sander
Christopher Schwarzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP4010767A1 publication Critical patent/EP4010767A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present invention relates to communication, in particular setting up a communication link, with automatable industrial devices or systems or with their control.
  • Automated industrial devices include in particular autonomous transport devices (automated guided vehicles, AGV), automatable processing devices or stations, stationary or mobile manipulators, stationary or mobile manipulator arrangements, in particular stationary or mobile robots or stationary or mobile robot arrangements, or controls therefor, or combinations of two or more of these.
  • Automatable industrial systems include, in particular, arrangements that have one or more automatable industrial devices, in particular one of the devices mentioned above.
  • a controller that is considered here includes controllers that are used to control the above-mentioned devices or systems. These can be designed, for example, as a computer, computer system, control card or integrated circuit.
  • the object of the present invention is to improve the communication or the establishment of a communication link with an automatable industrial device or installation or its control. This object is achieved by a method with the features of claim 1.
  • Claim 14 provides protection for a control device which is set up to carry out a method described here.
  • Claims 15 and 16 provide a computer program or a computer program product for performing a method described here under protection. The subclaims relate to advantageous developments.
  • a first aspect of the present invention relates to a method for setting up a communication connection between a first node in a first of at least two networks and a second node in a second of the at least two networks, at least one of the first and second nodes being an automatable industrial device or is an automatable industrial plant or a controller for this, the at least two networks individually each forming a homogeneous address space, the at least two networks together not forming a homogeneous address space, the method having the following steps:
  • the call having routing path information indicating the routing path from the first node to the second node, the routing path information at least one identifier of each of the Have routing path to networks or nodes to be traversed, but not necessarily have an identifier of the first network;
  • a communication connection is understood in particular to be a connection that enables data exchange in at least one direction, in particular in two directions, for example for the purpose of one Controlling an automatable industrial device or system, or to determine measured values in relation to this. It should be noted here that the control of the device or system does not necessarily have to take place immediately, but can be saved for later use.
  • a network with a homogeneous address space is, for example, the Internet, a cloud network, a local network or an individual device such as a computer, laptop, smartphone, etc. If you consider each of these networks individually, each node (each component ) of this network can be clearly addressed within the respective network, hence the term homogeneous address space. However, if you consider these networks together as an overall network, they generally do not form a homogeneous address space. H. two nodes can be uniquely addressable within their respective networks by the same identifier (for example a number), but not within the combination of their networks.
  • the routing path information uses appropriate identifiers to indicate which networks or nodes are to be traversed on the routing path.
  • the communication connection can therefore be set up in particular in a unique manner between the first node and the second node.
  • a call typically originates from the first node, and for this reason the routing path information does not necessarily have to include an identifier of the first network, because this is known from the outset, so to speak.
  • the routing path information can also have an identifier of the first network. This can be particularly advantageous if the call is from a higher-level, for example Control device goes out, but it is intended that a communication connection between the first node and the second node is set up within the scope of this call (ie not between the higher-level control device and one of the nodes).
  • the routing path information only contains the identifiers of the networks to be traversed, without alternatively or additionally containing identifiers of the nodes to be traversed in these networks.
  • the routing path information has an identifier of the second node.
  • the network in which the second node is located has several nodes.
  • the call can then be reliably routed to the second node.
  • the second network has only one node, namely the second node, the second node is in a certain way identical to the second network, so that it is not necessary to specify an identifier for the second node in addition to an identifier for the second network.
  • the specification of the identifier of the second node in the routing path information may not be necessary if it is clear from the outset, for example due to the nature of the call, to which node within the second network it is to be routed.
  • the call After one execution, the call also has a connection identifier.
  • a connection identifier can be used to identify the communication connection, in particular to connect a specific communication connection from another communication connection distinguish.
  • the connection identifier can be assigned in a manner to be described below.
  • the communication connection between the first node and the second node has at least two messages, all messages of this communication connection between the first node and the second node having this connection identifier.
  • connection identifier By using the same connection identifier for several messages that belong to a specific communication connection, their association with this specific communication connection can be easily recognized, for example by nodes located on the routing path. Also, the two or more messages can be efficiently grouped in this way. In addition, the use of a connection identifier has advantages to be described for the routing of these messages.
  • connection identifier After execution, at least a part of the connection identifier is generated or allocated at random, in particular by the first node.
  • the randomly generated or assigned part of the connection identifier can for example have a number, a letter, a number / letter combination or the like.
  • the connection identifier can be generated or allocated in a relatively uncomplicated manner.
  • Another part of the connection identifier can be generated or allocated in a different way. For example, this part could be generated or allocated based on a current time or an identification of a node, for example the first node.
  • the entire connection identifier can also be generated or assigned randomly, that is to say not have any part that was not generated or assigned randomly.
  • connection identifiers of a first and a second call match, and in particular in the event that the routing paths of the first and second call lead via the same node, the second call is rejected and / or a new connection identifier is generated for the second call or assigned to it.
  • a collision can be avoided or a collision that has already occurred can be “resolved” in a relatively uncomplicated manner. After avoiding or resolving the collision, the risk of a (further) collision can be checked again. This process can be repeated until the collision-free establishment of the communication connections is possible.
  • the associated connection identifier and a node identifier of a predecessor node and a node identifier of a successor node are stored for one or the first call in each node or an associated storage device located on the routing path between the first node and the second node, wherein the predecessor node is a node located on the routing path, in particular a node immediately adjacent on the routing path, in the direction of the first node, and the successor node is a node located on the routing path, in particular a node immediately adjacent on the routing path, in the direction of the second node is.
  • a part of the routing path relevant for this node is stored in each node on the routing path, for example in a routing table. Especially if only the If node identifiers of the neighboring nodes are stored, the memory requirement for this storage is relatively low. In principle, it is not necessary to store non-adjacent node identifiers, but it is possible.
  • routing path information and the associated connection identifier of a call are contained in a start message.
  • routing path information there is an association between the routing path information and the connection identifier. These can be transmitted to the appropriate nodes by the start message.
  • messages of this call following the start message have the associated connection identifier but not the routing path information, the messages following the start message preferably based on the nodes on the routing path between the first node and the second node or the associated storage device stored node identifiers are routed.
  • the nodes on the routing path have already been informed of the routing path information in the start message (and the nodes can save the part relevant to them, for example the node identifiers of the neighboring nodes, as explained above, for example in a routing table) it is not necessary that the messages following the start message also contain the routing path information.
  • the node When a (subsequent) message is received at a node, the node would use the connection identifier to determine the stored node identifier of the neighboring node and forward the message to it.
  • the stored associated connection identifier and / or the stored node identifier of the previous node and / or the stored node identifier are transferred to the node lying on the routing path between the first node and the second node or the associated storage device.
  • Identifier of the successor node deactivated, in particular deleted can minimize memory requirements. In addition, this can ensure that information that is no longer required is no longer accessible, which can serve to improve data protection.
  • the communication link is a bidirectional communication link.
  • a bidirectional communication link is understood in particular to mean that data can be transmitted, in particular transmitted, in both directions.
  • the path from the first node to the second node is viewed as the outward path
  • the path from the second node to the first node represents the return path.
  • the first node could be a central robot monitoring device and the second node a robot.
  • the first node sends, for example, a request to the second node in order to receive sensor data relating to this second node (robot).
  • the second node determines the sensor data and sends it back to the first node on the way back.
  • the messages can be routed bidirectionally, i.e. both for the outward and for the return path, based on the connection identifier. Even for a bidirectional communication connection, it is therefore not necessary for messages following a start message to contain routing information relating to the routing path, although this would also be possible as an alternative.
  • the method further comprises: before the call is sent, the first node sends an initial call, the initial call having no or only incomplete routing path information, the information required for the call being based on the initial call Routing path information can be determined, in particular by a node different from the first node, in particular with the aid of an association between information contained in the initial call and the routing path information.
  • the first node does not necessarily have to know the (complete) routing path information that is necessary for setting up the communication link between the first and the second node. Nevertheless, the communication link can be established after this execution.
  • the initial call could, for example, only identify one type of service that the first node should have provided by another node, the first node not necessarily knowing which other node can provide this service or for providing it Service is provided. On the basis of the initial call or the information contained therein, however, it can be determined, for example by a node different from the first node, which node can or should provide the requested service.
  • This embodiment also enables more flexible handling with regard to a distribution of services, in particular a dynamic distribution of services, that is to say a distribution of services that can change over time, and in particular in which such changes can be implemented with little effort.
  • a “service assignment”, ie an assignment of which node can or should perform which service can be stored in just one node (a third node). If the service assignment changes or should change, the service assignment only needs to be updated in the third node, but not in any other node that might want to access the corresponding service. In this way, a “relocation” of services from one node to another node can be implemented advantageously, whereby the update effort can be kept low.
  • the method also includes rejecting a call, in particular at or through a node lying on the routing path between the first node and the second node, in particular in the event that the call or the communication connection is not authorized.
  • a call can be rejected, for example because the “destination node” (the second node) is not available for a requested service, for example because it is no longer performing the requested type of service or because there is no free capacity to perform this service Has.
  • a call can also be rejected if there is no authorization for this call or the communication connection. This could be used, for example, to implement company-internal access authorizations or to make selected services available to nodes only after a corresponding fee has been paid for this.
  • a corresponding check can be carried out by a node on the routing path, for example by the second node itself, or even by the first node. However, the checking or rejection advantageously takes place at a node located between the first and the second node, for example at a node within a company intranet. This could be centrally responsible for checking and rejecting, in particular with regard to several second nodes.
  • At least one of the first and second nodes is an autonomous transport device, a stationary or mobile manipulator, a stationary or mobile manipulator arrangement, in particular a stationary or mobile robot or a stationary or mobile robot arrangement, or a controller for this, or a combination of two or more of these.
  • Autonomous transport devices in the context of automatable industrial devices or automatable industrial plants include in particular transport vehicles that can transport objects autonomously, for example within a building, such as a warehouse, or between several buildings / warehouses or on a factory site. In a simple case, these could have a loading platform or a container / container to move the items from one place to another To be transported in place without loading and / or unloading yourself.
  • Such transport vehicles can also be equipped with suitable means for loading and / or unloading, for example a lifting device such as a forklift truck, a gripper arm, etc.
  • manipulators, manipulator arrangements, robots or robot arrangements that come into consideration include, in particular, devices that process a workpiece or change its position or position.
  • a second aspect of the invention relates to a control device for a node, in particular for a manipulator, in particular for a robot, the control device being set up to carry out one of the methods described above.
  • a third aspect of the invention relates to a computer program that executes one of the methods described above when it runs in a control device as described above.
  • a fourth aspect of the invention relates to a computer program product with program code which is stored on a machine-readable carrier and which includes a computer program as described above.
  • a computer program product can have, in particular, a non-volatile storage medium for storing a program or with a program stored thereon, execution of this program causing a system or a controller, in particular a computer, to use a program here to carry out the described method or one or more of its steps.
  • Fig. 1 a system or a network structure according to an embodiment of the present invention
  • Fig. 2 a system or a network structure according to another
  • Fig. 1 shows a system or a network structure according to an embodiment of the present invention.
  • Fig. 1 shows a system or a network structure according to an embodiment of the present invention.
  • several networks are each shown by dashed rectangles.
  • Each of these networks viewed individually, forms a homogeneous address space within which individual nodes, which are shown in Fig.
  • the nodes shown in FIG. 1 can in principle communicate with one another or exchange data. This communication can take place, for example, by wire (e.g. Ethernet) or wirelessly (e.g. cellular radio, WLAN). However, according to FIG. 1, not every node shown can communicate directly with every other node shown. In the exemplary embodiment in FIG. 1, all possible direct connections are shown by solid lines.
  • the present invention is used in connection with the communication between two nodes, at least one of these nodes being an automatable industrial device, installation or control for this. Examples of these have already been mentioned.
  • the network K-1 shown in FIG. 1 can be the intranet of a robot manufacturer.
  • the network CL-C represents a cloud network, the network CL-S another cloud network, the network C-D a customer network and the network C-T another customer network.
  • the node K in the network Kl represents an interface with access to the cloud network CL-C.
  • the two cloud networks Networks are connected to one another via the respective interfaces S and C, whereby the interface C can also communicate with the interfaces K, D and T.
  • the other nodes in the networks Kl, CD and CT cannot communicate directly with the interface C, but only via the respective interfaces K, D and T in their respective networks.
  • the node 1 within the network C-T is a robot.
  • the node 1 in the network K-1 can provide a certain service, for example the diagnosis of a problem that can occur with a (customer) robot, for example with the robot 1 in the customer network C-T.
  • the node 1 in the network K-1 is actually supposed to carry out a diagnosis of the robot 1 in the customer network C-T, for example in the context of a check that recurs at fixed time intervals or on the basis of an explicit request to do so.
  • the node 1 in the network K-1 must now, for example, query sensor data from the robot 1 in the network C-T, i. H. these must be requested and then transmitted. If the addressing in the overall network 50 shown in FIG. 1 were to take place according to conventional addressing methods, then all the nodes shown in FIG. 1 would have to be uniquely globally addressable. In the example shown, this is problematic because there is a node with the identifier “1” not only in network C-T, but also, for example, in networks C-D and CL-C. According to conventional addressing methods, these nodes would first have to be assigned unique addresses.
  • node 1 in network Kl can now query sensor data from robot 1 in network CT
  • node 1 in network Kl - this node is referred to here as the "first node” - sends a call to set up a communication link between the first node (i.e. itself itself) and the robot 1 in the network CT - here as “second Node ”.
  • This call contains routing path information which specifies the routing path from the first node to the second node.
  • the routing path leads via the node K to the node C, from there to the node T and then to the second node with the identifier “1.
  • the routing path information could, for example, have identifiers of these nodes to be traversed.
  • the specification of the identifier K is not necessary because, due to the other specified identifiers, such as C, it is already clear that the routing path leads out of the network Kl and because in the example shown in FIG. 1 the only connection that leads out of the network Kl, via the node K leads.
  • specifying the identifiers C, T and 1 would be sufficient to clearly specify the routing path from the first node to the second node. In Fig. 1 this is shown by the dash-dotted line labeled “C / T / 1”.
  • the routing information could also have identifiers of the networks to be traversed, in the present example the networks CL-C and C-T, or a mixture of identifiers of the networks and nodes to be traversed.
  • the specification of the identifier “1” would also be necessary for the second node so that the routing path to the second node is clearly specified.
  • the specification of the identifier of this second node would not be necessary if, for example, all calls to the robot with the identifier 1 are routed as standard in the network C-T.
  • the communication link between the first node and the second node can then be set up based on the routing path information.
  • a payload for example, a request can be sent from the first node along the routing path to the second node so that the second node transmits sensor data to the first node.
  • Fig. 1 indicates further examples of communication links by dash-dotted lines. These are briefly explained below.
  • four individual nodes 1, 2, 3 and 4 are shown, which form independent networks, ie their networks contain only a single node. These are connected to the CL-S cloud network, ie they can (only) communicate with it directly.
  • the routing path from node 4 to node S leads directly from node 4 to node S without this routing path traversing other nodes.
  • routing path information for specifying this routing path only contained the identifier “S”, as shown in FIG. 1.
  • a further communication link is indicated at the top left in FIG. 1, which leads from a node with the identifier “1” via the nodes S and C to a further node with the identifier “1” in the network CL-C.
  • specification of the identifiers S, C and 1 would therefore be sufficient, as is indicated in FIG. 1 by the string "S / C / 1".
  • the specification of the identifier S is provided, although the only direct connection to the node S leads from the node 1 at the top left in FIG. The reason for this is the fact that this connection crosses network boundaries.
  • the specification of the identifiers C and 1 is sufficient to move from the node with the identifier "4" in the customer network CT via the node T to the node C and on to the node 1 in the cloud.
  • Network CL-C It is not necessary to specify the identifier T because the only connection from the customer network C-T is via the node T.
  • routing paths shown in FIG. 1 relate to the customer network CD.
  • this network CD there is another customer network CF.
  • This contains the nodes F, 1, 2, 3 and 4.
  • the only connection from the customer network CF leads via the node F and from there via a node not identified by an identifier to node D.
  • the network CF could, for example, be a network within the customer network CD, all employees of the company to which these networks are assigned have access to the area of the network CD outside the network CF, but only some employees also have access to the network Have CF.
  • a routing path from node 4 to node 3 in network CF is sufficiently defined in that only the identifier “3” is specified in the corresponding routing path information, as indicated at the bottom right in FIG.
  • the routing path from node 1 within network CF to node C in cloud network CL-C necessarily leads out of network CF via node F, from there via node D to leave network CD, and from there to the node C in the cloud network CL-C.
  • This path is sufficiently defined by specifying only the identifier “C”, because it is clear from the outset that all paths to leave the network C-F and C-D must lead via the nodes F and D. It is therefore not necessary to specify the identifiers F and D in the corresponding routing path information.
  • FIG. 1 a last routing path example is indicated in FIG. 1, which in a certain way can be viewed as a reversal of the immediately preceding example.
  • the routing path should lead from the node C in the cloud network CL-C via the node D in the customer network C-D and the node F in the customer network C-F to the node 2 in the network C-F.
  • FIG. 2 shows a further example of a network system or overall network 50.
  • the overall network 50 has four (independent) sub-networks. In the interest of a simplified representation, these are not shown separately.
  • a first network has nodes 10 to 13
  • a second network has nodes 20 and 21
  • a third network has nodes 30 to 32
  • a fourth network has nodes 40 and 41.
  • Each of these four networks represents a homogeneous address space so that each node within each of these four networks can be uniquely addressed.
  • FIG. 10 and 41 are therefore not necessarily to be regarded as identifiers of the individual nodes in FIG. 2, but have only been assigned in the interest of a clearer description so that two nodes do not have the same reference number.
  • the situation is different with the identifiers of the nodes, which are not shown in FIG. 2, but which can be assigned to the individual nodes in a manner analogous to FIG. 1.
  • two different nodes in two different networks can carry the same identifier.
  • nodes 11 and 31 could have the identifier “1”, nodes 12 and 32 the identifier “2” etc.
  • the reference symbols of the nodes are treated as if they were at the same time the identifiers of the nodes.
  • a call is sent in order to set up a communication link between this node 11, which is thus to be regarded as the “first node”, and the node 31, which is to be regarded as the “second node”.
  • This communication link leads from node 11 via nodes 10, 20 and 30 to node 31.
  • the corresponding routing path P is illustrated by an arrow with a dashed line.
  • the first node 11 sends a call to set up the communication connection with the second node 31, for example to request sensor data from node 31.
  • this call contains the necessary routing path information, that is to say the identifiers of at least the nodes 20 and 30, and possibly also the identifiers of the node 10 and / or the node 31.
  • the routing path information includes the (node) identifiers of all on the routing path P having lying nodes, so the identifiers of nodes 10, 20, 30 and 31, for example in the form of a string "10/20/30/31".
  • the node 10 Based on the routing information contained in the call, the node 10 forwards the call to the node 20, the latter to the node 30 and the latter finally to the second node 31.
  • the call was thus routed to the second node 31, i. H. a communication link is set up between the first node 11 and the second node 31.
  • the call After the call has been routed to node 31 as described above, it can use the routing information to recognize (for example because its node identifier is the last identifier contained in the routing information) that the call is intended for it as the destination node.
  • the second node 31 can then execute instructions which can be contained in the call in the form of a payload. For example, if the call contains the instruction to collect sensor data and send it back to the first node 11, the second node 31 can collect this data and then a corresponding message, which in turn contains the routing information (albeit in the reverse order), on the return path of the routing path P. send back.
  • This message can be passed on through nodes 30, 20 and 10 on the way there, analogously to the call.
  • it is not necessary to specify the node identifier of the originally first node 11 in the routing information for example because node 11 is the only (further) node in the network in which node 10 is located.
  • each of the messages sent would have to contain the (complete) routing information for the routing path P.
  • the latter can be avoided in order to save memory space in the routing nodes or in memories connected to them and / or to make the routing of the messages more efficient.
  • the first node 11 can first send a start message.
  • this contains a connection identifier. This identifies the connection to be set up, for example in order to distinguish it from other communication connections set up or to be set up.
  • the start message is processed after it arrives at node 10.
  • the routing path information is stored in a corresponding memory under the connection identifier, for example in a type of routing table.
  • the start message is then forwarded accordingly to node 20, processed there accordingly and forwarded to node 30.
  • This also processes the start message and finally forwards it to the node 31, where the start message is also processed accordingly.
  • the routing path information is stored in all affected nodes so that the routing path information can be called up again using the connection identifier.
  • This has the particular advantage that further messages belonging to this communication connection do not have to contain the routing path information again. It is therefore sufficient that, for example, the message from node 31 to node 11 only has the connection identifier on the way back.
  • the nodes on the routing path P can then forward this return message accordingly on the basis of the stored routing path information.
  • not all of the routing path information is stored for each participating node, but only a relevant part.
  • the routing information contained in the start message has the format “10/20/30/31”, for example.
  • the start message also contains a connection identifier, as described.
  • the start message is now sent from the first node 11 to the node 10.
  • the node 10 uses the routing information, the latter recognizes that the start message is to be forwarded to node 20.
  • the node 10 therefore forwards the start message to the node 20.
  • the node 10 stores the connection identifier and, connected to it, the node identifiers of the nodes 11 and 20 in its or an assigned memory.
  • the node 10 can take the node identifier of the node 20 from the routing information.
  • the node 10 can infer the identifier of the node 11 from the fact that it has received the start message from the node 11.
  • Other parts of the routing information, in particular the identifiers of the nodes 30 and 31, are not stored in the routing table in the node 10 because the latter cannot communicate directly with these nodes anyway.
  • the node 20 proceeds accordingly after receiving the start message and stores in its routing table under the connection identifier the identifier of the node 30 as the identifier of the neighboring node in the destination direction (i.e. towards the destination node 31) and also the identifier of the node 10 as the identifier of the neighboring node in the start direction (i.e. towards starting node 11).
  • node 20 forwards the start message to node 30, which proceeds accordingly and finally forwards the start message to node 31. This is itself the destination node, so that only the identifier of node 30 has to be stored there under the connection identifier as the identifier of the neighboring node in the start direction.
  • the routing path information contained in the start message can be used when it is forwarded to the next neighboring node be shortened. If, for example, the routing path, as described above, leads from the first node 11 via the nodes 10, 20, 30 to the second node 31, the routing path information could in principle be through the string
  • node identifiers of nodes 11 and 10 do not have to be contained in the start message that is sent from node 11 to node 10.
  • the node 10 knows its node identifier anyway, and the node 10 also recognizes that the start message was sent by the node 11. Because the only connection from the network in which nodes 10 and 11 are included leads via node 10, the start message in this case can only contain the string “20/30/31” as routing path information.
  • node 10 can shorten the routing path information by the node identifier of node 20 so that the start message to be sent to node 20 then only has the string “30/31” as routing information.
  • Node 20 in turn recognizes that it has received the start message from node 10, so that it can store this information in its routing table. Node 20 proceeds accordingly and shortens the routing path information to “31” and forwards the start message with this shortened routing path information to node 30. This also recognizes that it has received the start message from node 20 so that it can note this information in its routing table. The start message to be forwarded from the node 30 to the node 31 can then contain an “empty path” because the node 31 knows that it has received the start message from the node 30 and has not explicitly pointed this out based on the routing path information contained in the start message must become.
  • connection identifier mentioned above is used in accordance with some of the embodiments described above for the correct routing of the messages, it is of certain importance. For this reason, it makes sense to ensure that the same connection identifier is not used for two different communication connections. In principle, this could be achieved through a global agreement in all participating networks, but it would be difficult to implement and / or inflexible under certain circumstances.
  • assigning a connection identifier would also be an example based on the start node and a time specification may not be unique, because two different nodes in two different networks may have the same node identifier and may send a call at the same time.
  • connection identifiers (or at least a part of each connection identifier) are generated randomly, for example by the first node itself.
  • the connection identifier could be generated by another node in response to a corresponding request and assigned to the first node or the desired communication connection.
  • the communication connection can then be set up in accordance with one of the methods described above.
  • connection identifiers generated at random it can also happen that two desired communication connections, for example starting from two different nodes, are assigned the same connection identifier.
  • the node 11 could wish to have a communication connection with the node 31 and generate a connection identifier for this purpose, for example “17”.
  • the communication connection is established according to one of the methods described above.
  • node 41 wants a communication connection with node 32 and would like to use the connection identifier “17” for this.
  • the node 41 then sends its start message to the node 40, which forwards it to the node 20, as described above.
  • Node 20 establishes that a communication connection with connection identifier “17” already exists in its routing table. In order to avoid a “collision” or to ensure that messages for both communication connections are correctly routed, the node 20 rejects the second start message with the connection identifier “17”. The communication link desired by the node 41 is therefore initially no longer set up. Instead, the node 20 sends a message to the node 40 and this accordingly sends a message back to the node 41 in order to notify these nodes that a communication connection with the connection identifier “17” already exists. Based on this message, the Node 41 in turn randomly assigns a new connection identifier for the desired connection. A new attempt is then made to set up the desired communication connection based on the new connection identifier. Depending on the implementation, it can be relatively unlikely that this retry will be rejected again. If this should be the case, however, this part of the method is repeated until the communication link between node 41 and node 32 can be set up without collision.
  • a further development that can be used in connection with all of the methods described above relates to the termination or disconnection of an established communication link. This is again described with reference to FIG. 2, again with reference to the example according to which node 11 had requested sensor data from node 31.
  • the clearing down of the communication link between the first node 1 and the second node 31 can be initiated, for example, by a finish message. This could for example be sent by the second node after it has determined that it has transmitted all the requested sensor data, or by the first node 11 after it has determined that no further sensor data is required from the node 31.
  • the finish message is sent along the routing path P like other messages belonging to the corresponding communication link, namely in this example from node 31 via nodes 30, 20 and 10 to node 11.
  • Each node involved marks each node involved by sending the finish message in its routing table the communication connection or the connection identifier as deactivated or deletes the corresponding entry, in particular together with the stored node identifiers of the preceding node and / or successor node. The latter in particular so as not to unnecessarily block storage space.
  • the corresponding connection identifier is then available for future desired communication connections. Thus the probability becomes a Collision of communication links with the same link identifier minimized.
  • the finish message is sent by the first node 11, the clearing takes place in the reverse order. It is also possible for the finish message or the disconnection to originate from another node, for example node 20. The disconnection of the communication link then propagates in both directions, starting from node 20, that is to say in the direction of first node 11 and the second node 31.
  • node 11 represents a robot controller.
  • the robot controller 11 would like to have a path planning worked out for a new production process, for example. While this can be done locally / internally with many robots, it may make sense to have a path planning carried out by another node, especially in the event that the path planning is very computationally intensive and the robot controller 11 does not itself have sufficient computing capacity.
  • Node 11 could now request the path planning from a specific node in the system shown in FIG. 2, by means of a call as described above, ie by specifying the corresponding routing path information.
  • the node 11 does not know which node can / should carry out the path planning. Accordingly, at least initially, he cannot send a call with the required routing path information. Instead, the system can be set up in such a way that, for example, it is stored in node 10 which node can / should carry out path planning in response to a corresponding request. In order to request path planning, the node 11 now sends a corresponding message, which in the present case is called an “initial call”. This initial call is sent to node 10 and is recognized by it as a path planning request based on its format or content. The initial call can, for example, have the content “rail planning service”.
  • a table can now be stored in node 10 which indicates that node 13 is responsible for path planning in the same network. Accordingly, a call is generated and sent which contains the routing path information so that communication between node 11 and node 13 can be set up in the same network. It should be noted here that the call is not necessarily sent from node 11. Because it is generated on the basis of the table stored in node 10, the call could be sent by node 10, for example. As a further development, the node 11 does not even have to know or become aware that the node 13 is the target node (or the second node) in the communication connection, because the node 11 communicates directly only with the node 10 and it communicates with the node 11 It is not, or not necessarily, of relevance through which node the path planning is actually carried out.
  • the variant described last also enables, for example, a transparent relocation of services.
  • the path planning service which was carried out by node 13 up to a certain point in time, could have been “moved” to another node.
  • the table in node 10 is updated so that node 13 is no longer noted under “path planning service”, but rather node 12 or node 31.
  • This “move” becomes the Node 11, which requests the path planning service, is not known or not necessarily known.
  • node 11 sends an initial call to node 10, whereupon the latter sends the actual call to set up the communication link, which is now not set up with node 13 but, in the example mentioned, with node 12 or the node 31.
  • node 10 instead of storing new path information for the relocated service in each individual node / robot etc., an update for only one node (node 10 in the example mentioned) is sufficient to correctly route future requests for the corresponding service. Access restrictions
  • access options can be restricted. This is of particular interest if the networks concerned do not all belong to the same company, for example.
  • an access control can be installed in node 30 in FIG. 2, which controls access to the network to which nodes 30, 31 and 32 belong.
  • every call which is routed from node 20 to node 30 is analyzed by the latter. If the appropriate authorization is available, the call can be forwarded. Otherwise it will be rejected.
  • Such an access control does not necessarily have to be installed in a node belonging to the network to be controlled. Access control for the network to which nodes 30, 31 and 32 belong could therefore also be installed in node 20, for example.
  • the access control presented here can protect networks against unauthorized access. Such an access control can also ensure that nodes, for example, only have access to services for which a corresponding fee has been paid.
  • FIG. 3 shows a flow chart with method steps of an exemplary embodiment of a method according to the invention.
  • a call to set up a communication connection is sent in a step 101.
  • the call has routing path information which specifies the routing path from a first node to a second node.
  • the communication connection between the first node and the second node is set up based on the routing path information.
  • the method can then end (step 103).
  • a user has a user interface with which he can manage a specific robot user application.
  • this user interface can be used essentially anywhere: directly connected to the robot; on a WiFi network in the factory where the robot is located; on an intranet of the company to which the robot belongs; or over the public internet.
  • the routing path or the routing path information may or may not already be known to the user or to the device (computer, laptop, tablet, smartphone, etc.) that the user is using as an interface.
  • Such factors can in particular be the current “location” of the device used as an interface and / or the (direct) connection to a specific network.
  • routing path or the routing path information is not already known, these can be determined. There are several possibilities for this, which can also be used in other examples or embodiments:
  • Path in the file system There is a root in the network that can be directly addressed from anywhere (e.g. a node in the cloud network of the robot manufacturer) and there is a logical topology, e.g. cloud / customer / factory / robot
  • (b) Interactive browsing The user searches the network himself starting from his local node. The interaction is then similar to that in a filesystem browser. The user navigates step by step from one node to the next (neighboring) node and from there to the next (neighboring) node, etc. When the user has finally found his destination, the path found in this way corresponds to the routing path sought.
  • Telephone book / search service There are directly accessible services that save the routing paths and make them searchable on the basis of additional information. Services / robots can log on to such a service with any information and can be found. For example, the customer first gives a service (for example on cloud / ismel / search) a robot name as a search term and receives the routing path as a response from this service.
  • (d) Domain name system (this can correspond to what is described in the “Initial Call” section or build on it):
  • the target service / robot has an abstract name. This abstract name is known to the user.
  • the abstract name and the current routing path leading to the target service / robot are stored in directly accessible services. If a service / robot "moves", the stored information is updated. The user can then access the target service / robot using the abstract name known to him.
  • a customer's robot is equipped with additional sensors for a customer application.
  • Customer-specific services are developed that read out the sensor data and run on the robot.
  • These customer-specific expansion services are connected on the robot to the overall network 50 (shown for example in FIG. 1) and are therefore also available, for example, in a cloud network without changes to the communication from the customer to the network of the robot manufacturer being necessary.
  • Reading out sensor data has already been mentioned.
  • an employee of a robot manufacturing company can use the company's intranet to query sensor data relating to a robot that is in another network as part of customer service.
  • Sensor data can also be automatically reported from the customer network to the network of the robot manufacturer company. This data can be checked for anomalies, for example, in the customer network or in the network of the robot manufacturer. In the event of a significant deviation from specified values, additional Sensor data are requested, for example to enable a diagnosis of a problem with respect to the robot.
  • path planning services or other services that could be of interest in connection with an automatable industrial plant can be outsourced, i. H. are not provided directly by or on the industrial system.
  • storage capacity and / or computing capacity can be saved in the system or in several systems, which can promote more cost-effective and / or resource-saving production.
  • the corresponding services can then be provided centrally, i.e. for several systems, by a node in another network, for example.
  • the provision of these services can be dynamically shifted to other nodes. In particular, if this relocation is carried out "transparently", it may only be necessary to update a route table or the like at a single node, and not at all nodes that use the service in question, as already described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a method for establishing a communication connection between a first node (11) in a first network of at least two networks and a second node (31) in a second network of the at least two networks. At least one node of the first and second nodes (11, 31) is an automatable industrial device (e.g. a robot) or an automatable industrial system or a controller for same. Each of the at least two networks individually forms a homogeneous address space, but the at least two networks do not form a homogeneous address space together. The method has at least the following steps: transmitting (101) a call to establish the communication connection between the first node and the second node, said call having routing path information (10/20/30/31) which indicates the routing path from the first node (11) to the second node (31), wherein the routing path information (10/20/30/31) has at least one identifier (10, 20, 30, 31) for each of the networks or nodes to be traversed on the routing path but not necessarily an identifier for the first network; and establishing (102) the communication connection between the first node (11) and the second node (31) on the basis of the routing path information (10/20/30/31). The invention additionally relates to a corresponding control device, a computer program, and a computer program product.

Description

Beschreibung description
Kommunikation mit automatisierbaren industriellen Vorrichtungen oder Anlagen oder mit deren Steuerung Communication with automatable industrial devices or systems or with their control
Die vorliegende Erfindung betrifft die Kommunikation, insbesondere das Einrichten einer Kommunikationsverbindung, mit automatisierbaren industriellen Vorrichtungen oder Anlagen oder mit deren Steuerung. The present invention relates to communication, in particular setting up a communication link, with automatable industrial devices or systems or with their control.
Zu automatisierbaren industriellen Vorrichtungen zählen insbesondere autonome Transportvorrichtungen (fahrerlose Transportfahrzeuge, FTF, Englisch: automated guided vehicles, AGV), automatisierbare Bearbeitungsgeräte oder -Stationen, stationäre oder mobile Manipulatoren, stationäre oder mobile Manipulatoranordnungen, insbesondere stationäre oder mobile Roboter oder stationäre oder mobile Roboteranordnungen, oder Steuerungen hierfür, oder Kombinationen aus zwei oder mehr von diesen. Zu automatisierbaren industriellen Anlagen zählen insbesondere Anordnungen, die eine oder mehrere automatisierbare industrielle Vorrichtungen, insbesondere eine der oben genannten Vorrichtungen, aufweisen. Zu einer vorliegend in Betracht kommenden Steuerung zählen Steuerungen, die zur Steuerung der oben genannten Vorrichtungen oder Anlagen dienen. Diese können beispielsweise als Computer, Computeranlage, Steuerungskarte oder integrierter Schaltkreis ausgebildet sein. Automated industrial devices include in particular autonomous transport devices (automated guided vehicles, AGV), automatable processing devices or stations, stationary or mobile manipulators, stationary or mobile manipulator arrangements, in particular stationary or mobile robots or stationary or mobile robot arrangements, or controls therefor, or combinations of two or more of these. Automatable industrial systems include, in particular, arrangements that have one or more automatable industrial devices, in particular one of the devices mentioned above. A controller that is considered here includes controllers that are used to control the above-mentioned devices or systems. These can be designed, for example, as a computer, computer system, control card or integrated circuit.
Es ist bekannt, mit einer automatisierbaren industriellen Vorrichtung oder Anlage oder mit deren Steuerung beispielsweise über eine GRPC-Schnittstelle über das Protobuf- Protokoll zu kommunizieren, insbesondere eine solche Vorrichtung, Anlage oder Steuerung anzusprechen bzw. Daten mit dieser auszutauschen. Um aktuell GRPC- Services über Netzwerkgrenzen hinweg ansprechen zu können, ist zumindest ein VPN-Netzwerk (Virtual Private Network) notwendig. Zudem muss innerhalb des VPN jede Komponente eindeutig adressierbar sein. It is known to communicate with an automatable industrial device or system or with its control, for example via a GRPC interface via the Protobuf protocol, in particular to address such a device, system or control or to exchange data with it. In order to be able to address GRPC services across network borders, at least one VPN network (Virtual Private Network) is necessary. In addition, every component within the VPN must be clearly addressable.
Aufgabe der vorliegenden Erfindung ist es, die Kommunikation bzw. das Einrichten einer Kommunikationsverbindung mit einer automatisierbaren industriellen Vorrichtung oder Anlage oder deren Steuerung zu verbessern. Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Anspruch 14 stellt eine Steuervorrichtung unter Schutz, die zur Durchführung eines hier beschriebenen Verfahren eingerichtet ist. Ansprüche 15 und 16 stellen ein Computerprogramm bzw. ein Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. The object of the present invention is to improve the communication or the establishment of a communication link with an automatable industrial device or installation or its control. This object is achieved by a method with the features of claim 1. Claim 14 provides protection for a control device which is set up to carry out a method described here. Claims 15 and 16 provide a computer program or a computer program product for performing a method described here under protection. The subclaims relate to advantageous developments.
Ein erster Aspekt der vorliegenden Erfindung betrifft ein Verfahren zum Einrichten einer Kommunikationsverbindung zwischen einem ersten Knoten in einem ersten von wenigstens zwei Netzwerken und einem zweiten Knoten in einem zweiten der wenigstens zwei Netzwerke, wobei wenigstens einer des ersten und des zweiten Knotens eine automatisierbare industrielle Vorrichtung oder eine automatisierbare industrielle Anlage oder eine Steuerung hierfür ist, wobei die wenigstens zwei Netzwerke einzeln jeweils einen homogenen Adressraum bilden, wobei die wenigstens zwei Netzwerke zusammen keinen homogenen Adressraum bilden, wobei das Verfahren die folgenden Schritte aufweist: A first aspect of the present invention relates to a method for setting up a communication connection between a first node in a first of at least two networks and a second node in a second of the at least two networks, at least one of the first and second nodes being an automatable industrial device or is an automatable industrial plant or a controller for this, the at least two networks individually each forming a homogeneous address space, the at least two networks together not forming a homogeneous address space, the method having the following steps:
Senden eines Calls zum Einrichten der Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten, wobei der Call Routingpfad-Informationen aufweist, die den Routingpfad von dem ersten Knoten zu dem zweiten Knoten angeben, wobei die Routingpfad-Informationen wenigstens einen Identifikator eines jeden der auf dem Routingpfad zu traversierenden Netzwerken oder Knoten, jedoch nicht notwendigerweise einen Identifikator des ersten Netzwerks, aufweisen; und Sending a call to set up the communication link between the first node and the second node, the call having routing path information indicating the routing path from the first node to the second node, the routing path information at least one identifier of each of the Have routing path to networks or nodes to be traversed, but not necessarily have an identifier of the first network; and
Einrichten der Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten basierend auf den Routingpfad-Informationen. Establishing the communication link between the first node and the second node based on the routing path information.
Unter einer Kommunikationsverbindung wird vorliegend insbesondere eine Verbindung verstanden, die einen Datenaustausch in wenigstens einer Richtung, insbesondere in zwei Richtungen, ermöglicht, beispielsweise zum Zwecke eines Steuerns einer automatisierbaren industriellen Vorrichtung oder Anlage, oder um Messwerte bezüglich dieser zu ermitteln. Hierbei ist zu beachten, dass die Steuerung der Vorrichtung oder Anlage nicht notwendigerweise sofort erfolgen muss, sondern für einen späteren Gebrauch abgespeichert werden kann. In the present case, a communication connection is understood in particular to be a connection that enables data exchange in at least one direction, in particular in two directions, for example for the purpose of one Controlling an automatable industrial device or system, or to determine measured values in relation to this. It should be noted here that the control of the device or system does not necessarily have to take place immediately, but can be saved for later use.
Ein Netzwerk mit homogenem Adressraum ist beispielsweise das Internet, ein Cloud- Netzwerk, ein lokales Netzwerk oder ein einzelner Device, wie zum Beispiel ein Computer, Laptop, Smartphone etc. Wenn man jedes dieser Netzwerke für sich alleine betrachtet, ist jeder Knoten (jede Komponente) dieses Netzwerks innerhalb des jeweiligen Netzwerks eindeutig adressierbar, daher der Begriff des homogenen Adressraums. Wenn man diese Netzwerke aber zusammen als Gesamtnetzwerk betrachtet, bilden sie im Allgemeinen keinen homogenen Adressraum, d. h. zwei Knoten können innerhalb ihrer jeweiligen Netzwerke eindeutig durch den gleichen Identifikator (beispielsweise eine Zahl) adressierbar sein, nicht aber innerhalb der Kombination ihrer Netzwerke. A network with a homogeneous address space is, for example, the Internet, a cloud network, a local network or an individual device such as a computer, laptop, smartphone, etc. If you consider each of these networks individually, each node (each component ) of this network can be clearly addressed within the respective network, hence the term homogeneous address space. However, if you consider these networks together as an overall network, they generally do not form a homogeneous address space. H. two nodes can be uniquely addressable within their respective networks by the same identifier (for example a number), but not within the combination of their networks.
Im Prinzip könnte dies dadurch gelöst werden, dass jeder Knoten eine global eindeutige Adresse bekommt, oder dass eine Adressenübersetzung stattfindet. Die Erfinder der vorliegenden Erfindung sehen beides als einschränkend und/oder unflexibel und/oder mit großem Aufwand verbunden an. Das erfindungsgemäße Verfahren stellt einen alternativen Ansatz bereit, der insbesondere flexibler und/oder mit weniger Einschränkungen und/oder Aufwand verbunden ist. In principle, this could be solved by giving each node a globally unique address, or by addressing translation. The inventors of the present invention see both as restrictive and / or inflexible and / or associated with great effort. The method according to the invention provides an alternative approach which is in particular more flexible and / or associated with fewer restrictions and / or costs.
Die Routingpfad-Informationen geben mittels entsprechender Identifikatoren an, welche Netzwerke oder Knoten auf dem Routingpfad zu traversieren sind. Anhand dieser Routingpfad-Informationen kann also die Kommunikationsverbindung insbesondere in eindeutiger weise zwischen dem ersten Knoten und dem zweiten Knoten eingerichtet werden. The routing path information uses appropriate identifiers to indicate which networks or nodes are to be traversed on the routing path. On the basis of this routing path information, the communication connection can therefore be set up in particular in a unique manner between the first node and the second node.
Es ist vorgesehen, dass ein Call typischerweise von dem ersten Knoten ausgeht, und aus diesem Grund müssen die Routingpfad-Informationen nicht notwendigerweise einen Identifikator des ersten Netzwerks aufweisen, weil dieser sozusagen schon von vornherein bekannt ist. Die Routingpfad-Informationen können aber auch einen Identifikator des ersten Netzwerks aufweisen. Dies kann insbesondere dann vorteilhaft sein, wenn der Call beispielsweise von einer übergeordneten Steuerungsvorrichtung ausgeht, es aber beabsichtigt ist, dass im Rahmen dieses Calls eine Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten eingerichtet wird (also nicht zwischen der übergeordneten Steuervorrichtung und einem der Knoten). It is provided that a call typically originates from the first node, and for this reason the routing path information does not necessarily have to include an identifier of the first network, because this is known from the outset, so to speak. However, the routing path information can also have an identifier of the first network. This can be particularly advantageous if the call is from a higher-level, for example Control device goes out, but it is intended that a communication connection between the first node and the second node is set up within the scope of this call (ie not between the higher-level control device and one of the nodes).
Um den Call richtig zu routen bzw. um den Routingpfad korrekt festzulegen, kann es unter Umständen ausreichen, wenn die Routingpfad-Informationen nur die Identifikatoren der zu traversierenden Netzwerke enthalten, ohne alternativ oder zusätzlich Identifikatoren der zu traversierenden Knoten in diesen Netzwerken zu enthalten. Gleichwohl ist es aber möglich, zusätzlich oder alternativ die Identifikatoren der zu traversierenden Knoten in den Routing-Informationen anzugeben, insbesondere dann, wenn der Routingpfad innerhalb eines bestimmten Netzwerks über zwei oder mehr Knoten dieses Netzwerks führt. Dies ist aber selbst in einem solchen Fall nicht zwingend, weil innerhalb eines Netzwerks auch entschieden werden kann, über welche Knoten innerhalb dieses Netzwerks der Call geroutet werden soll, ohne dass dies in den Routingpfad-Informationen des Calls festgelegt sein muss. In order to route the call correctly or to determine the routing path correctly, it may be sufficient if the routing path information only contains the identifiers of the networks to be traversed, without alternatively or additionally containing identifiers of the nodes to be traversed in these networks. At the same time, however, it is possible to additionally or alternatively specify the identifiers of the nodes to be traversed in the routing information, in particular if the routing path within a specific network leads via two or more nodes of this network. Even in such a case, however, this is not mandatory because a decision can also be made within a network via which nodes within this network the call is to be routed without this having to be specified in the routing path information of the call.
In einer Ausführung weisen die Routingpfad-Informationen einen Identifikator des zweiten Knotens auf. In one embodiment, the routing path information has an identifier of the second node.
Dies kann insbesondere dann von Vorteil sein, wenn das Netzwerk, in dem sich der zweite Knoten befindet, mehrere Knoten aufweist. Der Call kann dann zuverlässig zum zweiten Knoten geroutet werden. Falls das zweite Netzwerk nur einen Knoten aufweist, nämlich den zweiten Knoten, ist der zweite Knoten in gewisser Weise identisch mit dem zweiten Netzwerk, so dass die Angabe eines Identifikators des zweiten Knotens zusätzlich zu einem Identifikator des zweiten Netzwerks nicht nötig ist. Ebenso kann die Angabe des Identifikators des zweiten Knotens in den Routingpfad-Informationen nicht nötig sein, wenn von vornherein klar ist, beispielsweise aufgrund der Natur des Calls, zu welchem Knoten innerhalb des zweiten Netzwerks dieser geroutet werden soll. This can be of particular advantage if the network in which the second node is located has several nodes. The call can then be reliably routed to the second node. If the second network has only one node, namely the second node, the second node is in a certain way identical to the second network, so that it is not necessary to specify an identifier for the second node in addition to an identifier for the second network. Likewise, the specification of the identifier of the second node in the routing path information may not be necessary if it is clear from the outset, for example due to the nature of the call, to which node within the second network it is to be routed.
Nach einer Ausführung weist der Call ferner einen Verbindungs-Identifikator auf. Ein solcher Verbindungs-Identifikator kann zur Identifizierung der Kommunikationsverbindung dienen, insbesondere um eine bestimmte Kommunikationsverbindung von einer anderen Kommunikationsverbindung zu unterscheiden. Der Verbindungsidentifikator kann in noch zu beschreibender Weise zugeteilt werden. After one execution, the call also has a connection identifier. Such a connection identifier can be used to identify the communication connection, in particular to connect a specific communication connection from another communication connection distinguish. The connection identifier can be assigned in a manner to be described below.
Nach einer Ausführung weist die Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten wenigstens zwei Nachrichten auf, wobei alle Nachrichten dieser Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten diesen Verbindungs-Identifikator aufweisen. According to one embodiment, the communication connection between the first node and the second node has at least two messages, all messages of this communication connection between the first node and the second node having this connection identifier.
Durch die Benutzung des gleichen Verbindungsidentifikators für mehrere Nachrichten, die zu einer bestimmten Kommunikationsverbindung gehören, kann deren Zugehörigkeit zu dieser bestimmten Kommunikationsverbindung leicht erkannt werden, beispielsweise durch auf dem Routingpfad liegende Knoten. Auch können die zwei oder mehr Nachrichten auf diese Weise effizient gruppiert werden. Außerdem hat die Benutzung eines Verbindungsidentifikators noch zu beschreibende Vorteile für das Routing dieser Nachrichten. By using the same connection identifier for several messages that belong to a specific communication connection, their association with this specific communication connection can be easily recognized, for example by nodes located on the routing path. Also, the two or more messages can be efficiently grouped in this way. In addition, the use of a connection identifier has advantages to be described for the routing of these messages.
Nach einer Ausführung wird zumindest ein Teil des Verbindungsidentifikators zufällig generiert oder zugeteilt, insbesondere durch den ersten Knoten. Der zufällig generierte oder zugeteilte Teil des Verbindungsidentifikators kann beispielsweise eine Zahl, ein Buchstabe, eine Zahlen/Buchstaben-Kombination oder ähnliches aufweisen. Nach dieser Ausführung kann ein relativ unkompliziertes Generieren oder Zuteilen des Verbindungsidentifikators stattfinden. Ein anderer Teil des Verbindungsidentifikators kann in anderer Weise generiert oder zugeteilt werden. Beispielsweise könnte dieser Teil basierend auf einer aktuellen Zeit oder einer Identifikation eines Knotens, beispielsweise des ersten Knotens, generiert oder zugeteilt werden. Gleichwohl kann aber auch der gesamte Verbindungsidentifikator zufällig generiert oder zugeteilt werden, also keinen Teil aufweisen, der nicht zufällig generiert oder zugeteilt wurde. After execution, at least a part of the connection identifier is generated or allocated at random, in particular by the first node. The randomly generated or assigned part of the connection identifier can for example have a number, a letter, a number / letter combination or the like. After this implementation, the connection identifier can be generated or allocated in a relatively uncomplicated manner. Another part of the connection identifier can be generated or allocated in a different way. For example, this part could be generated or allocated based on a current time or an identification of a node, for example the first node. At the same time, however, the entire connection identifier can also be generated or assigned randomly, that is to say not have any part that was not generated or assigned randomly.
Die Erfinder gehen davon aus, dass es - je nach Implementierung - relativ unwahrscheinlich ist, dass es in dem Gesamtnetzwerk gleichzeitig zwei eingerichtete oder einzurichtende Kommunikationsverbindungen gibt, die den gleichen Verbindungsidentifikator aufweisen. Insofern ist zu erwarten, dass es relativ unwahrscheinlich ist, dass es eine „Kollision“ durch zweiThe inventors assume that - depending on the implementation - it is relatively unlikely that there are two communication connections that have been set up or are to be set up simultaneously in the overall network and have the same connection identifier. In this respect it is to be expected that it is relatively unlikely that there will be a "collision" between two
Kommunikationsverbindungen mit gleichem Verbindungsidentifikator gibt. Selbst dies wäre unter Umständen kein Problem, wenn die entsprechenden Routingpfade nicht die gleichen Netzwerke und/oder Knoten traversieren. There are communication links with the same link identifier. Even this might not be a problem if the corresponding routing paths do not traverse the same networks and / or nodes.
Unter Umständen ist erst dann eine Kollision zu erwarten, wenn die Routingpfade für identische Verbindungsidentifikatoren durch die gleichen Netzwerke bzw. über die gleichen Knoten führen. Entsprechend ist in einer Ausführung vorgesehen, dass im Falle, dass die Verbindungs-Identifikatoren eines ersten und eines zweiten Calls übereinstimmen und insbesondere im Falle, dass die Routingpfade des ersten und zweiten Calls über den gleichen Knoten führen, der zweite Call abgelehnt wird und/oder ein neuer Verbindungs-Identifikator für den zweiten Call generiert oder diesem zugeteilt wird. Under certain circumstances, a collision can only be expected if the routing paths for identical connection identifiers lead through the same networks or via the same nodes. Accordingly, it is provided in one embodiment that in the event that the connection identifiers of a first and a second call match, and in particular in the event that the routing paths of the first and second call lead via the same node, the second call is rejected and / or a new connection identifier is generated for the second call or assigned to it.
Gemäß dieser Ausführung kann auf relativ unkomplizierte Weise eine Kollision vermieden werden bzw. eine bereits eingetretene Kollision „aufgelöst“ werden. Nach der Kollisionsvermeidung bzw. -auflösung kann erneut auf die Gefahr einer (weiteren) Kollision geprüft werden. Dieser Vorgang kann sich wiederholen, bis das kollisionsfreie Einrichten der Kommunikationsverbindungen möglich ist. According to this embodiment, a collision can be avoided or a collision that has already occurred can be “resolved” in a relatively uncomplicated manner. After avoiding or resolving the collision, the risk of a (further) collision can be checked again. This process can be repeated until the collision-free establishment of the communication connections is possible.
Nach einer Ausführung wird für einen oder den ersten Call in jedem auf dem Routingpfad zwischen dem ersten Knoten und dem zweiten Knoten liegenden Knoten oder einer zugehörigen Speichervorrichtung der zugehörige Verbindungs-Identifikator und ein Knoten-Identifikator eines Vorgängerknotens und ein Knoten-Identifikator eines Nachfolgerknotens gespeichert, wobei der Vorgängerknoten ein auf dem Routingpfad liegender Knoten, insbesondere ein auf dem Routingpfad unmittelbar benachbart liegender Knoten, in Richtung des ersten Knotens ist, und wobei der Nachfolgerknoten ein auf dem Routingpfad liegender Knoten, insbesondere ein auf dem Routingpfad unmittelbar benachbart liegender Knoten, in Richtung des zweiten Knotens ist. After one execution, the associated connection identifier and a node identifier of a predecessor node and a node identifier of a successor node are stored for one or the first call in each node or an associated storage device located on the routing path between the first node and the second node, wherein the predecessor node is a node located on the routing path, in particular a node immediately adjacent on the routing path, in the direction of the first node, and the successor node is a node located on the routing path, in particular a node immediately adjacent on the routing path, in the direction of the second node is.
Gemäß dieser Ausführung wird in gewisserWeise in jedem Knoten auf dem Routingpfad ein für diesen Knoten relevanter Teil des Routingpfads hinterlegt, beispielsweise in einer Routing-Tabelle. Insbesondere wenn nur die Knotenidentifikatoren der Nachbarknoten hinterlegt werden, ist der Speicherbedarf für diese Hinterlegung relativ gering. Das Hinterlegen von nicht benachbarten Knotenidentifikatoren ist im Prinzip nicht nötig, gleichwohl aber möglich. According to this embodiment, to a certain extent a part of the routing path relevant for this node is stored in each node on the routing path, for example in a routing table. Especially if only the If node identifiers of the neighboring nodes are stored, the memory requirement for this storage is relatively low. In principle, it is not necessary to store non-adjacent node identifiers, but it is possible.
Nach einer Ausführung sind die Routingpfad-Informationen und der dazugehörige Verbindungs-Identifikator eines Calls in einer Startnachricht enthalten. After execution, the routing path information and the associated connection identifier of a call are contained in a start message.
Gemäß dieser Ausführung entsteht eine Zuordnung zwischen den Routingpfad- Informationen und dem Verbindungsidentifikator. Durch die Startnachricht können diese an die entsprechenden Knoten übermittelt werden. According to this embodiment, there is an association between the routing path information and the connection identifier. These can be transmitted to the appropriate nodes by the start message.
Nach einer Ausführung weisen auf die Startnachricht folgende Nachrichten dieses Calls den dazugehörigen Verbindungs-Identifikator, nicht aber die Routingpfad- Informationen auf, wobei die auf die Startnachricht folgenden Nachrichten vorzugsweise anhand der in den auf dem Routingpfad zwischen dem ersten Knoten und dem zweiten Knoten liegenden Knoten oder der zugehörigen Speichervorrichtung gespeicherten Knoten identifikatoren geroutet werden. After one execution, messages of this call following the start message have the associated connection identifier but not the routing path information, the messages following the start message preferably based on the nodes on the routing path between the first node and the second node or the associated storage device stored node identifiers are routed.
Weil den auf dem Routingpfad liegenden Knoten die Routingpfad-Informationen bereits in der Startnachricht mitgeteilt wurden (und die Knoten den für sie relevanten Teil, zum Beispiel die Knotenidentifikatoren der Nachbarknoten, wie oben erläutert, abspeichern können, beispielsweise in einer Routing-Tabelle), ist es nicht notwendig, dass auf die Startnachricht folgende Nachrichten auch die Routingpfad-Informationen enthalten. Beim Empfangen einer (nachfolgenden) Nachricht an einem Knoten würde dieser anhand des Verbindungsidentifikators den hinterlegten Knotenidentifikator des Nachbarknotens ermitteln und die Nachricht an diesen weiterleiten. Because the nodes on the routing path have already been informed of the routing path information in the start message (and the nodes can save the part relevant to them, for example the node identifiers of the neighboring nodes, as explained above, for example in a routing table) it is not necessary that the messages following the start message also contain the routing path information. When a (subsequent) message is received at a node, the node would use the connection identifier to determine the stored node identifier of the neighboring node and forward the message to it.
Nach einer Ausführung werden beim Beenden des Calls in den auf dem Routingpfad zwischen dem ersten Knoten und dem zweiten Knoten liegenden Knoten oder der zugehörigen Speichervorrichtung der gespeicherte zugehörige Verbindungs- Identifikator und/oder der gespeicherte Knoten-Identifikator des Vorgängerknotens und/oder der gespeicherte Knoten-Identifikator des Nachfolgerknotens deaktiviert, insbesondere gelöscht. Durch dieses Deaktivieren bzw. Löschen kann Speicherbedarf minimiert werden. Außerdem kann hierdurch sichergestellt werden, dass nicht mehr benötigte Informationen nicht mehr zugänglich sind, was einem verbesserten Datenschutz dienen kann. After execution, when the call is terminated, the stored associated connection identifier and / or the stored node identifier of the previous node and / or the stored node identifier are transferred to the node lying on the routing path between the first node and the second node or the associated storage device. Identifier of the successor node deactivated, in particular deleted. This deactivation or deletion can minimize memory requirements. In addition, this can ensure that information that is no longer required is no longer accessible, which can serve to improve data protection.
Nach einer Ausführung ist die Kommunikationsverbindung eine bidirektionale Kommunikationsverbindung. According to one embodiment, the communication link is a bidirectional communication link.
In diesem Zusammenhang wird unter einer bidirektionalen Kommunikationsverbindung insbesondere verstanden, dass Daten in beide Richtungen übermittelt werden können, insbesondere übermittelt werden. Sieht man beispielsweise den Weg vom ersten Knoten zum zweiten Knoten als Hinweg an, so stellt der Weg vom zweiten Knoten zum ersten Knoten den Rückweg dar. In einem Anwendungsbeispiel könnte beispielsweise der erste Knoten eine zentrale Roboterüberwachungsvorrichtung sein und der zweite Knoten ein Roboter. Auf dem Hinweg sendet der erste Knoten beispielsweise eine Anfrage an den zweiten Knoten, um Sensordaten bezüglich dieses zweiten Knotens (Roboter) zu erhalten. Der zweite Knoten ermittelt die Sensordaten und sendet diese auf dem Rückweg zurück an den ersten Knoten. In this context, a bidirectional communication link is understood in particular to mean that data can be transmitted, in particular transmitted, in both directions. For example, if the path from the first node to the second node is viewed as the outward path, the path from the second node to the first node represents the return path. In an application example, the first node could be a central robot monitoring device and the second node a robot. On the way there, the first node sends, for example, a request to the second node in order to receive sensor data relating to this second node (robot). The second node determines the sensor data and sends it back to the first node on the way back.
Wenn, wie oben ausgeführt, alle Knoten auf dem Routingpfad eine Zuordnung zwischen einem Verbindungsidentifikator und den Knotenidentifikatoren beider benachbarten Knoten hinterlegt haben, können die Nachrichten bidirektional, also sowohl für den Hinweg als auch für den Rückweg, aufgrund des Verbindungsidentifikators geroutet werden. Auch für eine bidirektionale Kommunikationsverbindung ist es also nicht nötig, dass auf eine Startnachricht folgende Nachrichten Routing-Informationen bezüglich des Routingpfads enthalten, obwohl dies alternativ auch möglich wäre. If, as stated above, all nodes on the routing path have an assignment between a connection identifier and the node identifiers of both neighboring nodes, the messages can be routed bidirectionally, i.e. both for the outward and for the return path, based on the connection identifier. Even for a bidirectional communication connection, it is therefore not necessary for messages following a start message to contain routing information relating to the routing path, although this would also be possible as an alternative.
Nach einer Ausführung weist das Verfahren ferner auf: vor dem Senden des Calls, Senden eines Initial-Calls durch den ersten Knoten, wobei der Initial-Call keine oder nur unvollständige Routingpfad-Informationen aufweist, wobei anhand des Initial-Calls die für den Call benötigten Routingpfad-Informationen ermittelt werden können, insbesondere durch einen von dem ersten Knoten verschiedenen Knoten, insbesondere mithilfe einer Zuordnung zwischen einer in dem Initial-Call enthaltenen Information und den Routingpfad-Informationen. According to one embodiment, the method further comprises: before the call is sent, the first node sends an initial call, the initial call having no or only incomplete routing path information, the information required for the call being based on the initial call Routing path information can be determined, in particular by a node different from the first node, in particular with the aid of an association between information contained in the initial call and the routing path information.
Gemäß dieser Ausführung muss der erste Knoten nicht unbedingt die (vollständigen) Routingpfad-Informationen kennen, die für das Einrichten der Kommunikationsverbindung zwischen dem ersten und dem zweiten Knoten nötig sind. Dennoch kann nach dieser Ausführung die Kommunikationsverbindung eingerichtet werden. According to this embodiment, the first node does not necessarily have to know the (complete) routing path information that is necessary for setting up the communication link between the first and the second node. Nevertheless, the communication link can be established after this execution.
Der Initial-Call könnte beispielsweise lediglich eine Art von Dienst (Service) identifizieren, den der erste Knoten durch einen anderen Knoten erbringen lassen soll, wobei dem ersten Knoten nicht unbedingt bekannt ist, welcher andere Knoten diesen Dienst erbringen kann bzw. für das Erbringen dieses Dienstes vorgesehen ist. Anhand des Initial-Calls bzw. der darin enthaltenen Informationen kann aber ermittelt werden, beispielsweise durch einen von dem ersten Knoten verschiedenen Knoten, welcher Knoten den angeforderten Dienst erbringen kann bzw. soll. The initial call could, for example, only identify one type of service that the first node should have provided by another node, the first node not necessarily knowing which other node can provide this service or for providing it Service is provided. On the basis of the initial call or the information contained therein, however, it can be determined, for example by a node different from the first node, which node can or should provide the requested service.
Diese Ausführung ermöglicht auch eine flexiblere Handhabung bezüglich einer Verteilung von Diensten, insbesondere eine dynamische Verteilung von Diensten, also eine Verteilung von Diensten, die sich im Laufe der zeit ändern kann, und insbesondere bei der solche Änderungen ohne größeren Aufwand implementiert werden können. So kann beispielsweise eine „Dienstzuordnung“, also eine Zuordnung, welcher Knoten welchen Dienst ausführen kann bzw. soll, in nur einem Knoten (einem dritten Knoten) hinterlegt sein. Wenn sich die Dienstzuordnung ändert oder ändern soll, muss die Dienstzuordnung nur in dem dritten Knoten aktualisiert werden, nicht aber in jedem anderen Knoten, der unter Umständen auf den entsprechenden Dienst zugreifen möchte. So kann ein „Umzug“ von Diensten von einem Knoten zu einem anderen Knoten vorteilhaft implementiert werden, wobei der Aktualisierungsaufwand gering gehalten werden kann. This embodiment also enables more flexible handling with regard to a distribution of services, in particular a dynamic distribution of services, that is to say a distribution of services that can change over time, and in particular in which such changes can be implemented with little effort. For example, a “service assignment”, ie an assignment of which node can or should perform which service, can be stored in just one node (a third node). If the service assignment changes or should change, the service assignment only needs to be updated in the third node, but not in any other node that might want to access the corresponding service. In this way, a “relocation” of services from one node to another node can be implemented advantageously, whereby the update effort can be kept low.
Diese Ausführung ermöglicht auch einen gewissen Grad an Anonymität, d. h. der erste Knoten, der auf einen bestimmten Dienst zugreifen möchte, muss im Rahmen dieser Ausführung nicht erfahren (bzw. erfährt nicht), welcher Knoten den angeforderten Dienst ausführen kann/soll bzw. ausführt. Nach einer Ausführung weist das Verfahren ferner das Zurückweisen eines Calls, insbesondere an einem oder durch einen auf dem Routingpfad zwischen dem ersten Knoten und dem zweiten Knoten liegenden Knoten, insbesondere im Falle, dass der Call oder die Kommunikationsverbindung nicht autorisiert ist, auf. This implementation also enables a certain degree of anonymity, ie the first node that wants to access a certain service does not have to learn (or does not learn) within the scope of this implementation which node can / should or is executing the requested service. According to one embodiment, the method also includes rejecting a call, in particular at or through a node lying on the routing path between the first node and the second node, in particular in the event that the call or the communication connection is not authorized.
Gemäß dieser Ausführung kann ein Call zurückgewiesen werden, beispielsweise weil der „Zielknoten“ (der zweite Knoten) für einen angeforderten Dienst nicht zur Verfügung steht, beispielsweise weil er die angeforderte Art von Dienst nicht mehr ausführt oder weil er keine freie Kapazität zum Ausführen dieses Dienstes hat. According to this embodiment, a call can be rejected, for example because the “destination node” (the second node) is not available for a requested service, for example because it is no longer performing the requested type of service or because there is no free capacity to perform this service Has.
Ebenso kann ein Call zurückgewiesen werden, falls für diesen Call bzw. die Kommunikationsverbindung keine Autorisierung vorliegt. Dies könnte beispielsweise dafür benutzt werden, um firmeninterne Zugangsberechtigungen zu implementieren oder um ausgewählte Dienste Knoten nur dann zur Verfügung zu stellen, nachdem hierfür eine entsprechende Gebühr bezahlt wurde. Eine entsprechende Überprüfung kann durch einen Knoten auf dem Routingpfad durchgeführt werden, beispielsweise durch den zweiten Knoten selbst, oder sogar auch durch den ersten Knoten. Vorteilhafterweise findet die Überprüfung bzw. das Zurückweisen aber an einem zwischen dem ersten und dem zweiten Knoten liegenden Knoten statt, beispielsweise bei einem Knoten innerhalb eines Firmen-Intranets. Dieser könnte zentral für das Überprüfen und Zurückweisen zuständig sein, insbesondere in Bezug auf mehrere zweite Knoten. A call can also be rejected if there is no authorization for this call or the communication connection. This could be used, for example, to implement company-internal access authorizations or to make selected services available to nodes only after a corresponding fee has been paid for this. A corresponding check can be carried out by a node on the routing path, for example by the second node itself, or even by the first node. However, the checking or rejection advantageously takes place at a node located between the first and the second node, for example at a node within a company intranet. This could be centrally responsible for checking and rejecting, in particular with regard to several second nodes.
Nach einer Ausführung ist wenigstens einer des ersten und des zweiten Knotens eine autonome Transportvorrichtung, ein stationärer oder mobiler Manipulator, eine stationäre oder mobile Manipulatoranordnung, insbesondere ein stationärer oder mobiler Roboter oder eine stationäre oder mobile Roboteranordnung, oder eine Steuerung hierfür, oder eine Kombination aus zwei oder mehr von diesen. According to one embodiment, at least one of the first and second nodes is an autonomous transport device, a stationary or mobile manipulator, a stationary or mobile manipulator arrangement, in particular a stationary or mobile robot or a stationary or mobile robot arrangement, or a controller for this, or a combination of two or more of these.
Zu autonomen Transportvorrichtungen im Rahmen von automatisierbaren industriellen Vorrichtungen oder automatisierbaren industriellen Anlagen zählen insbesondere Transportfahrzeuge, die autonom, beispielsweise innerhalb eines Gebäudes, wie zum Beispiel einer Lagerhalle, oder auch zwischen mehreren Gebäuden/Lagerhallen oder auf einem Werksgelände, Gegenstände transportieren können. Diese könnten in einem einfachen Fall eine Ladeplattform oder einen Behälter/Container aufweisen, um die Gegenstände von einem Ort zu einem anderen Ort zu transportieren, ohne selbst das Be- und/oder Entladen vorzunehmen. Solche Transportfahrzeuge können aber auch mit geeigneten Mitteln zum Be- und/oder Entladen ausgestattet sein, beispielsweise einer Hebeeinrichtung wie bei einem Gabelstapler, einem Greifarm usw. Autonomous transport devices in the context of automatable industrial devices or automatable industrial plants include in particular transport vehicles that can transport objects autonomously, for example within a building, such as a warehouse, or between several buildings / warehouses or on a factory site. In a simple case, these could have a loading platform or a container / container to move the items from one place to another To be transported in place without loading and / or unloading yourself. Such transport vehicles can also be equipped with suitable means for loading and / or unloading, for example a lifting device such as a forklift truck, a gripper arm, etc.
Zu den in Betracht kommenden Manipulatoren, Manipulator-Anordnungen, Roboter oder Roboter-Anordnungen zählen insbesondere Vorrichtungen, die ein Werkstück bearbeiten oder deren Lage oder Position verändern. The manipulators, manipulator arrangements, robots or robot arrangements that come into consideration include, in particular, devices that process a workpiece or change its position or position.
Ein zweiter Aspekt der Erfindung betrifft eine Steuervorrichtung für einen Knoten, insbesondere für einen Manipulator, insbesondere für einen Roboter, wobei die Steuervorrichtung zur Durchführung eines der oben beschriebenen Verfahren eingerichtet ist. A second aspect of the invention relates to a control device for a node, in particular for a manipulator, in particular for a robot, the control device being set up to carry out one of the methods described above.
Ein dritter Aspekt der Erfindung betrifft ein Computerprogramm, das eines der oben beschriebenen Verfahren ausführt, wenn es in einer Steuervorrichtung wie oben beschrieben abläuft. A third aspect of the invention relates to a computer program that executes one of the methods described above when it runs in a control device as described above.
Ein vierter Aspekt der Erfindung betrifft ein Computerprogrammprodukt mit Programmcode, der auf einem maschinenlesbaren Träger gespeichert ist und ein Computerprogramm wie oben beschrieben umfasst. A fourth aspect of the invention relates to a computer program product with program code which is stored on a machine-readable carrier and which includes a computer program as described above.
Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen. In one embodiment, a computer program product can have, in particular, a non-volatile storage medium for storing a program or with a program stored thereon, execution of this program causing a system or a controller, in particular a computer, to use a program here to carry out the described method or one or more of its steps.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: Further advantages and features emerge from the subclaims and the exemplary embodiments. This shows, partly schematically:
Fig. 1: ein System bzw. eine Netzwerkstruktur nach einem Ausführungsbeispiel der vorliegenden Erfindung; Fig. 2: ein System bzw. eine Netzwerkstruktur nach einem weiteren1: a system or a network structure according to an embodiment of the present invention; Fig. 2: a system or a network structure according to another
Ausführungsbeispiel der vorliegenden Erfindung; und Embodiment of the present invention; and
Fig. 3: ein Ablaufdiagramm mit Verfahrensschritten eines erfindungsgemäßen3: a flow chart with method steps of an inventive
Verfahrens. Procedure.
Fig. 1 zeigt ein System bzw. eine Netzwerkstruktur nach einem Ausführungsbeispiel der vorliegenden Erfindung. In Fig. 1 sind mehrere Netzwerke jeweils durch gestrichelte Rechtecke dargestellt. Jedes dieser Netzwerke bildet einzeln betrachtet jeweils einen homogenen Adressraum, innerhalb dessen einzelne Knoten, die in Fig. Fig. 1 shows a system or a network structure according to an embodiment of the present invention. In Fig. 1, several networks are each shown by dashed rectangles. Each of these networks, viewed individually, forms a homogeneous address space within which individual nodes, which are shown in Fig.
1 durch Rechtecke mit durchgezogenen Linien dargestellt sind, eindeutig adressierbar sind, d. h. eine eindeutige Netzwerkadresse haben. Innerhalb jedes Netzwerkes muss es also eine Absprache der T eilnehmer oder Knoten über die Adressvergabe geben. 1 are represented by rectangles with solid lines, are clearly addressable, i.e. H. have a unique network address. Within each network there must therefore be an agreement between the participants or nodes about the address assignment.
Die in Fig. 1 dargestellten Knoten können im Prinzip miteinander kommunizieren bzw. Daten austauschen. Diese Kommunikation kann beispielsweise drahtgebunden (z. B. Ethernet) oder drahtlos (z. B. Mobilfunk, WLAN) stattfinden. Allerdings kann gemäß Fig. 1 nicht jeder dargestellte Knoten mit jedem anderen dargestellten Knoten direkt kommunizieren. In dem Ausführungsbeispiel der Fig. 1 sind sämtliche möglichen Direktverbindungen durch durchgezogene Linien dargestellt. The nodes shown in FIG. 1 can in principle communicate with one another or exchange data. This communication can take place, for example, by wire (e.g. Ethernet) or wirelessly (e.g. cellular radio, WLAN). However, according to FIG. 1, not every node shown can communicate directly with every other node shown. In the exemplary embodiment in FIG. 1, all possible direct connections are shown by solid lines.
Wie bereits erwähnt, findet die vorliegende Erfindung im Zusammenhang mit der Kommunikation zwischen zwei Knoten Anwendung, wobei wenigstens einer dieser Knoten eine automatisierbare industrielle Vorrichtung, Anlage oder Steuerung hierfür ist. Beispiele für diese wurden bereits erwähnt. Im Interesse einer übersichtlichen Beschreibung wird nun im Zusammenhang mit dem Ausführungsbeispiel der Fig. 1 angenommen, dass einer der Knoten ein Roboter ist, ohne dass dies als Einschränkung gelten soll. Als konkretes Beispiel kann das in Fig. 1 dargestellte Netzwerk K-l das Intranet einer Roboter-Herstellerfirma sein. Das Netzwerk CL-C stellt ein Cloud-Netzwerk dar, das Netzwerk CL-S ein weiteres Cloud-Netzwerk, das Netzwerk C-D ein Kundennetzwerk und das Netzwerk C-T ein weiteres Kundennetzwerk. As already mentioned, the present invention is used in connection with the communication between two nodes, at least one of these nodes being an automatable industrial device, installation or control for this. Examples of these have already been mentioned. In the interest of a clear description, it is now assumed in connection with the exemplary embodiment in FIG. 1 that one of the nodes is a robot, without this being intended to apply as a restriction. As a concrete example, the network K-1 shown in FIG. 1 can be the intranet of a robot manufacturer. The network CL-C represents a cloud network, the network CL-S another cloud network, the network C-D a customer network and the network C-T another customer network.
Der Knoten K im Netzwerk K-l stellt eine Schnittstelle mit Zugang zum Cloud- Netzwerk CL-C dar. Entsprechendes gilt für die Knoten D und T. Die beiden Cloud- Netzwerke sind über die jeweiligen Schnittstellen S und C miteinander verbunden, wobei die Schnittstelle C auch mit den Schnittstellen K, D und T kommunizieren kann. Die übrigen Knoten in den Netzwerken K-l, C-D und C-T können nicht direkt mit der Schnittstelle C kommunizieren, sondern nur über die jeweiligen Schnittstellen K, D und T in ihren jeweiligen Netzwerken. The node K in the network Kl represents an interface with access to the cloud network CL-C. The same applies to the nodes D and T. The two cloud networks Networks are connected to one another via the respective interfaces S and C, whereby the interface C can also communicate with the interfaces K, D and T. The other nodes in the networks Kl, CD and CT cannot communicate directly with the interface C, but only via the respective interfaces K, D and T in their respective networks.
Wir nehmen nun im Sinne eines Beispiels an, dass der Knoten 1 innerhalb des Netzwerks C-T ein Roboter ist. Außerdem nehmen wir an, dass der Knoten 1 in dem Netzwerk K-l einen bestimmten Dienst bereitstellen kann, beispielsweise die Diagnose eines Problems, das bei einem (Kunden-)Roboter auftreten kann, beispielsweise bei dem Roboter 1 im Kundennetzwerk C-T. Ferner nehmen wir an, dass der Knoten 1 im Netzwerk K-l tatsächlich eine Diagnose des Roboters 1 im Kundennetzwerk C-T durchführen soll, beispielsweise im Rahmen einer in festgelegten Zeitabständen wiederkehrenden Überprüfung oder aufgrund einer expliziten Aufforderung hierzu. We now assume in the sense of an example that the node 1 within the network C-T is a robot. We also assume that the node 1 in the network K-1 can provide a certain service, for example the diagnosis of a problem that can occur with a (customer) robot, for example with the robot 1 in the customer network C-T. Furthermore, we assume that the node 1 in the network K-1 is actually supposed to carry out a diagnosis of the robot 1 in the customer network C-T, for example in the context of a check that recurs at fixed time intervals or on the basis of an explicit request to do so.
Um eine Diagnose durchzuführen, muss der Knoten 1 im Netzwerk K-l nun beispielsweise Sensordaten des Roboters 1 im Netzwerk C-T abfragen, d. h. diese müssen angefordert werden und anschließend übermittelt werden. Würde die Adressierung in dem in Fig. 1 gezeigten Gesamtnetzwerk 50 nach herkömmlichen Adressierungsmethoden erfolgen, so müssten sämtliche in Fig. 1 gezeigte Knoten eindeutig global adressierbar sein. Im gezeigten Beispiel ist dies aber problematisch, weil es nicht nur im Netzwerk C-T, sondern auch beispielsweise in den Netzwerken C- D und CL-C einen Knoten mit dem Identifikator „1 “ gibt. Nach herkömmlichen Adressierungsmethoden müssten also diesen Knoten zunächst eindeutige Adressen zugewiesen werden. In order to carry out a diagnosis, the node 1 in the network K-1 must now, for example, query sensor data from the robot 1 in the network C-T, i. H. these must be requested and then transmitted. If the addressing in the overall network 50 shown in FIG. 1 were to take place according to conventional addressing methods, then all the nodes shown in FIG. 1 would have to be uniquely globally addressable. In the example shown, this is problematic because there is a node with the identifier “1” not only in network C-T, but also, for example, in networks C-D and CL-C. According to conventional addressing methods, these nodes would first have to be assigned unique addresses.
Im Gegensatz dazu ist erfindungsgemäß eine solche eindeutige globale Adressierung nicht nötig. Nach dem vorgestellten erfindungsgemäßen Ausführungsbeispiel dürfen mehrere Teilnetzwerke einen Knoten mit dem gleichen Identifikator, hier beispielsweise „1“, aufweisen und beibehalten. Damit nun der Knoten 1 im Netzwerk K-l Sensordaten des Roboters 1 im Netzwerk C-T abfragen kann, sendet der Knoten 1 im Netzwerk K-l - dieser Knoten wird hier als „erster Knoten“ bezeichnet - einen Call zum Einrichten einer Kommunikationsverbindung zwischen dem ersten Knoten (also sich selbst) und dem Roboter 1 im Netzwerk C-T - hier als „zweiter Knoten“ bezeichnet. Dieser Call enthält Routingpfad-Informationen, die den Routingpfad von dem ersten Knoten zu dem zweiten Knoten angeben. Der Routingpfad führt in diesem Fall über den Knoten K zu dem Knoten C, von dort zu dem Knoten T und dann zu dem zweiten Knoten mit dem Identifikator „1 Die Routingpfad-Informationen könnten also beispielsweise Identifikatoren dieser zu traversierenden Knoten aufweisen. Allerdings ist die Angabe des Identifikators K nicht nötig, weil aufgrund der anderen angegebenen Identifikatoren, wie zum Beispiel C, es ohnehin klar ist, dass der Routingpfad aus dem Netzwerk K-l herausführt und weil in dem in Fig. 1 gezeigten Beispiel die einzige Verbindung, die aus dem Netzwerk K-l herausführt, über den Knoten K führt. Im vorliegenden Beispiel wäre also die Angabe der Identifikatoren C, T und 1 ausreichend, um den Routingpfad von dem ersten Knoten zu dem zweiten Knoten eindeutig anzugeben. In Fig. 1 ist dies durch die strichpunktierte Linie mit der Bezeichnung „C/T/1“ dargestellt. In contrast to this, according to the invention, such a unique global addressing is not necessary. According to the exemplary embodiment presented according to the invention, several sub-networks may have and maintain a node with the same identifier, here for example “1”. So that node 1 in network Kl can now query sensor data from robot 1 in network CT, node 1 in network Kl - this node is referred to here as the "first node" - sends a call to set up a communication link between the first node (i.e. itself itself) and the robot 1 in the network CT - here as “second Node ”. This call contains routing path information which specifies the routing path from the first node to the second node. In this case, the routing path leads via the node K to the node C, from there to the node T and then to the second node with the identifier “1. The routing path information could, for example, have identifiers of these nodes to be traversed. However, the specification of the identifier K is not necessary because, due to the other specified identifiers, such as C, it is already clear that the routing path leads out of the network Kl and because in the example shown in FIG. 1 the only connection that leads out of the network Kl, via the node K leads. In the present example, specifying the identifiers C, T and 1 would be sufficient to clearly specify the routing path from the first node to the second node. In Fig. 1 this is shown by the dash-dotted line labeled “C / T / 1”.
Anstelle eines Indikators der zu traversierenden Knoten könnten die Routinginformationen auch Identifikatoren der zu traversierenden Netzwerke aufweisen, im vorliegenden Beispiel die Netzwerke CL-C und C-T, oder eine Mischung aus Identifikatoren der zu traversierenden Netzwerke und Knoten. In diesem Sinne wäre in dem zuletzt genannten Beispiel auch die Angabe des Identifikators „1“ für den zweiten Knoten notwendig, damit der Routingpfad bis zum zweiten Knoten eindeutig angegeben wird. Instead of an indicator of the nodes to be traversed, the routing information could also have identifiers of the networks to be traversed, in the present example the networks CL-C and C-T, or a mixture of identifiers of the networks and nodes to be traversed. In this sense, in the last example mentioned, the specification of the identifier “1” would also be necessary for the second node so that the routing path to the second node is clearly specified.
In einer Variante wäre die Angabe des Identifikators dieses zweiten Knotens nicht notwendig, falls beispielsweise in dem Netzwerk C-T standardmäßig immer alle Calls zu dem Roboter mit dem Identifikator 1 geroutet werden. In a variant, the specification of the identifier of this second node would not be necessary if, for example, all calls to the robot with the identifier 1 are routed as standard in the network C-T.
Basierend auf den Routingpfad-Informationen kann dann die Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten eingerichtet werden. Als Payload kann also beispielsweise eine Aufforderung von dem ersten Knoten entlang des Routingpfads zum zweiten Knoten gesendet werden, damit der zweite Knoten Sensordaten an den ersten Knoten übermittelt. The communication link between the first node and the second node can then be set up based on the routing path information. As a payload, for example, a request can be sent from the first node along the routing path to the second node so that the second node transmits sensor data to the first node.
Fig. 1 deutet durch strichpunktierte Linien weitere Beispiele von Kommunikationsverbindungen an. Diese werden im Folgenden kurz erklärt. Ganz links in Fig. 1 sind vier einzelne Knoten 1 , 2, 3 und 4 gezeigt, die eigenständige Netzwerke bilden, d. h. deren Netzwerke enthalten nur einen einzigen Knoten. Diese sind an das Cloud-Netzwerk CL-S angebunden, d. h. sie können (nur) mit diesem direkt kommunizieren. Fig. 1 indicates further examples of communication links by dash-dotted lines. These are briefly explained below. On the far left in FIG. 1, four individual nodes 1, 2, 3 and 4 are shown, which form independent networks, ie their networks contain only a single node. These are connected to the CL-S cloud network, ie they can (only) communicate with it directly.
Der Routingpfad von dem Knoten 4 zum Knoten S führt direkt von dem Knoten 4 zu dem Knoten S, ohne dass dieser Routingpfad weitere Knoten traversiert. The routing path from node 4 to node S leads directly from node 4 to node S without this routing path traversing other nodes.
Entsprechend würde es ausreichen, wenn die Routingpfad-Informationen zur Angabe dieses Routingpfads lediglich den Identifikator „S“ enthalten, wie in Fig. 1 gezeigt.Accordingly, it would be sufficient if the routing path information for specifying this routing path only contained the identifier “S”, as shown in FIG. 1.
Links oben in Fig. 1 ist eine weitere Kommunikationsverbindung angedeutet, die von einem Knoten mit dem Identifikator „1“ über die Knoten S und C zu einem weiteren Knoten mit dem Identifikator „1“ im Netzwerk CL-C führt. Zur (eindeutigen) Angabe des entsprechenden Routingpfads wäre also die Angabe der Identifikatoren S, C und 1 ausreichend, wie in Fig. 1 durch den String "S/C/1" angedeutet ist. In diesem Beispiel ist die Angabe des Identifikators S vorgesehen, obwohl von dem Knoten 1 links oben in Fig. 1 die einzige direkte Verbindung zu dem Knoten S führt. Grund hierfür ist die Tatsache, dass diese Verbindung Netzwerkgrenzen überschreitet. A further communication link is indicated at the top left in FIG. 1, which leads from a node with the identifier “1” via the nodes S and C to a further node with the identifier “1” in the network CL-C. For (unambiguous) specification of the corresponding routing path, specification of the identifiers S, C and 1 would therefore be sufficient, as is indicated in FIG. 1 by the string "S / C / 1". In this example, the specification of the identifier S is provided, although the only direct connection to the node S leads from the node 1 at the top left in FIG. The reason for this is the fact that this connection crosses network boundaries.
Dagegen ist in einem weiteren in Fig. 1 gezeigten Beispiel eines Routingpfads die Angabe der Identifikatoren C und 1 ausreichend, um von dem Knoten mit dem Identifikator „4“ im Kundennetzwerk C-T über den Knoten T zum Knoten C und weiter zum Knoten 1 im Cloud-Netzwerk CL-C zu gelangen. Die Angabe des Identifikators T ist nicht nötig, weil die einzige Verbindung aus dem Kundennetzwerk C-T über den Knoten T führt. In contrast, in a further example of a routing path shown in FIG. 1, the specification of the identifiers C and 1 is sufficient to move from the node with the identifier "4" in the customer network CT via the node T to the node C and on to the node 1 in the cloud. Network CL-C. It is not necessary to specify the identifier T because the only connection from the customer network C-T is via the node T.
Weitere in Fig. 1 gezeigte Beispiele von Routingpfaden betreffen das Kundennetzwerk C-D. Innerhalb dieses Netzwerkes C-D befindet sich ein weiteres Kundennetzwerk C- F. Dieses enthält die Knoten F, 1 , 2, 3 und 4. Die einzige Verbindung aus dem Kundennetzwerk C-F führt über den Knoten F und von dort über einen nicht durch einen Identifikator gekennzeichneten Knoten zum Knoten D. Das Netzwerk C-F könnte beispielsweise ein Netzwerk innerhalb des Kundennetzwerks C-D sein, wobei alle Mitarbeiter des Unternehmens, dem diese Netzwerke zugeordnet sind, Zugang zu dem Bereich des Netzwerks C-D außerhalb des Netzwerks C-F haben, aber nur manche Mitarbeiter auch Zugang zum Netzwerk C-F haben. Ein Routingpfad vom Knoten 4 zum Knoten 3 im Netzwerk C-F ist ausreichend definiert, indem lediglich der Identifikator „3“ in den entsprechenden Routingpfad- Informationen angegeben wird, wie rechts unten in Fig. 1 angedeutet. Further examples of routing paths shown in FIG. 1 relate to the customer network CD. Within this network CD there is another customer network CF. This contains the nodes F, 1, 2, 3 and 4. The only connection from the customer network CF leads via the node F and from there via a node not identified by an identifier to node D. The network CF could, for example, be a network within the customer network CD, all employees of the company to which these networks are assigned have access to the area of the network CD outside the network CF, but only some employees also have access to the network Have CF. A routing path from node 4 to node 3 in network CF is sufficiently defined in that only the identifier “3” is specified in the corresponding routing path information, as indicated at the bottom right in FIG.
Der Routingpfad vom Knoten 1 innerhalb des Netzwerks C-F zum Knoten C im Cloud- Netzwerk CL-C führt notwendigerweise über den Knoten F aus dem Netzwerk C-F heraus, von dort über den Knoten D, um das Netzwerk C-D zu verlassen, und von dort zum Knoten C im Cloud-Netzwerk CL-C. Dieser Pfad ist durch die Angabe lediglich des Identifikators „C“ ausreichend definiert, weil es von vornherein klar ist, dass alle Pfade zum Verlassen des Netzwerks C-F und C-D über die Knoten F und D führen müssen. Die Angabe der Identifikatoren F und D ist somit in den entsprechenden Routingpfad-Informationen nicht nötig. The routing path from node 1 within network CF to node C in cloud network CL-C necessarily leads out of network CF via node F, from there via node D to leave network CD, and from there to the node C in the cloud network CL-C. This path is sufficiently defined by specifying only the identifier “C”, because it is clear from the outset that all paths to leave the network C-F and C-D must lead via the nodes F and D. It is therefore not necessary to specify the identifiers F and D in the corresponding routing path information.
Schließlich ist ein letztes Routingpfad-Beispiel in Fig. 1 angedeutet, das in gewisser Weise als Umkehrung des unmittelbar vorangegangenen Beispiels angesehen werden kann. Hier soll der Routingpfad von dem Knoten C im Cloud-Netzwerk CL-C über den Knoten D im Kundennetzwerk C-D und den Knoten F im Kundennetzwerk C- F zum Knoten 2 im Netzwerk C-F führen. Anders als im vorangegangenen Beispiel ist nun die Angabe der Identifikatoren D, F und 2 nötig, um den Routingpfad eindeutig zu definieren, beispielsweise durch den String „D/F/2“, wie in Fig. 1 angedeutet. Die Angabe lediglich des Identifikators „2“ wäre in diesem Fall nicht für eine eindeutige Identifizierung des Routingpfads ausreichend, weil es ohne die Angabe des Identifikators D, ausgehend vom Knoten C, nicht von vornherein klar ist, dass der Routingpfad ins Netzwerk C-D führen soll. Finally, a last routing path example is indicated in FIG. 1, which in a certain way can be viewed as a reversal of the immediately preceding example. Here the routing path should lead from the node C in the cloud network CL-C via the node D in the customer network C-D and the node F in the customer network C-F to the node 2 in the network C-F. In contrast to the previous example, it is now necessary to specify the identifiers D, F and 2 in order to clearly define the routing path, for example using the string “D / F / 2”, as indicated in FIG. 1. Specifying only the identifier “2” would in this case not be sufficient for a clear identification of the routing path, because without specifying the identifier D, starting from node C, it is not clear from the outset that the routing path should lead into network C-D.
Fig. 2 zeigt ein weiteres Beispiel eines Netzwerksystems bzw. Gesamtnetzwerks 50. Das Gesamtnetzwerk 50 weist vier (eigenständige) Teilnetzwerke auf. Diese sind im Interesse einer vereinfachten Darstellung nicht separat eingezeichnet. Ein erstes Netzwerk weist die Knoten 10 bis 13 auf, ein zweites Netzwerk die Knoten 20 und 21, ein drittes Netzwerk die Knoten 30 bis 32 und ein viertes Netzwerk die Knoten 40 und 41. 2 shows a further example of a network system or overall network 50. The overall network 50 has four (independent) sub-networks. In the interest of a simplified representation, these are not shown separately. A first network has nodes 10 to 13, a second network has nodes 20 and 21, a third network has nodes 30 to 32 and a fourth network has nodes 40 and 41.
Jedes dieser vier Netzwerke stellt einen homogenen Adressraum dar, damit jeder Knoten innerhalb eines jeden dieser vier Netzwerke eindeutig adressierbar ist. Each of these four networks represents a homogeneous address space so that each node within each of these four networks can be uniquely addressed.
Obwohl alle in Fig. 2 gezeigten Knoten auch insgesamt betrachtet unterschiedliche Bezugszeichen zwischen 10 und 41 tragen, bedeutet dies nicht, dass auch das Gesamtnetz 50 einen homogenen Adressraum bildet. Die Bezugszeichen zwischenAlthough all nodes shown in FIG. 2 are also different when viewed overall Carrying reference symbols between 10 and 41 does not mean that the overall network 50 also forms a homogeneous address space. The reference signs between
10 und 41 sind in Fig. 2 also nicht notwendigerweise als Identifikatoren der einzelnen Knoten anzusehen, sondern wurden nur im Interesse einer übersichtlicheren Beschreibung so vergeben, dass zwei Knoten nicht das gleiche Bezugszeichen tragen. Anders verhält es sich mit den Identifikatoren der Knoten, die in Fig. 2 nicht dargestellt sind, die den einzelnen Knoten aber analog zu Fig. 1 zugewiesen sein können. Es können also auch in Fig. 2 zwei verschiedene Knoten in zwei verschiedenen Netzwerken den gleichen Identifikator tragen. Beispielsweise könnten die Knoten 11 und 31 den Identifikator „1“ tragen, die Knoten 12 und 32 den Identifikator „2“ usw. Dennoch werden in der folgenden Beschreibung - wiederum im Interesse der besseren Übersichtlichkeit - die Bezugszeichen der Knoten so behandelt, als wären sie gleichzeitig die Identifikatoren der Knoten. 10 and 41 are therefore not necessarily to be regarded as identifiers of the individual nodes in FIG. 2, but have only been assigned in the interest of a clearer description so that two nodes do not have the same reference number. The situation is different with the identifiers of the nodes, which are not shown in FIG. 2, but which can be assigned to the individual nodes in a manner analogous to FIG. 1. Thus, in FIG. 2, too, two different nodes in two different networks can carry the same identifier. For example, nodes 11 and 31 could have the identifier “1”, nodes 12 and 32 the identifier “2” etc. However, in the following description - again in the interest of better clarity - the reference symbols of the nodes are treated as if they were at the same time the identifiers of the nodes.
Analog zu Fig. 1 sind die direkten Verbindungen (also die, die nicht über weitere Knoten führen müssen) durch durchgezogene Linien bzw. Doppelpfeile dargestellt. Eine direkte Kommunikation ist also zwischen dem Knoten 11 und dem Knoten 10 möglich. Hingegen muss eine Kommunikationsverbindung zwischen dem Knoten 11 und dem Knoten 20 zwangsläufig über den Knoten 10 führen. Analogously to FIG. 1, the direct connections (that is to say those that do not have to lead via further nodes) are shown by solid lines or double arrows. Direct communication is therefore possible between node 11 and node 10. On the other hand, a communication link between node 11 and node 20 must necessarily lead via node 10.
Es wird nun das Einrichten einer Kommunikationsverbindung anhand eines erfindungsgemäßen Beispiels näher erläutert. Wir nehmen nun an, dass von KnotenThe establishment of a communication connection will now be explained in more detail using an example according to the invention. We now assume that from knots
11 ein Call gesendet wird, um eine Kommunikationsverbindung zwischen diesem Knoten 11 , der somit als „erster Knoten“ anzusehen ist, und dem Knoten 31 , der als „zweiter Knoten“ anzusehen ist, einzurichten. Diese Kommunikationsverbindung führt vom Knoten 11 über die Knoten 10, 20 und 30 zum Knoten 31. Der entsprechende Routingpfad P ist durch einen Pfeil mit gestrichelter Linie veranschaulicht. 11 a call is sent in order to set up a communication link between this node 11, which is thus to be regarded as the “first node”, and the node 31, which is to be regarded as the “second node”. This communication link leads from node 11 via nodes 10, 20 and 30 to node 31. The corresponding routing path P is illustrated by an arrow with a dashed line.
In einem ersten Schritt sendet der erste Knoten 11 einen Call zum Einrichten der Kommunikationsverbindung mit dem zweiten Knoten 31 , beispielsweise um Sensordaten von Knoten 31 zu erfragen. Dieser Call enthält, wie anhand der Fig. 1 beschrieben, die nötigen Routingpfad-Informationen, also die Identifikatoren zumindest der Knoten 20 und 30, unter Umständen auch die Identifikatoren des Knotens 10 und/oder des Knotens 31. Im weiteren Verlauf nehmen wir an, dass die Routingpfad-Informationen die (Knoten)-Identifikatoren aller auf dem Routingpfad P liegenden Knoten aufweist, also die Identifikatoren der Knoten 10, 20, 30 und 31 , beispielsweise in der Form eines Strings "10/20/30/31". In a first step, the first node 11 sends a call to set up the communication connection with the second node 31, for example to request sensor data from node 31. As described with reference to FIG. 1, this call contains the necessary routing path information, that is to say the identifiers of at least the nodes 20 and 30, and possibly also the identifiers of the node 10 and / or the node 31. In the following, we assume that the routing path information includes the (node) identifiers of all on the routing path P having lying nodes, so the identifiers of nodes 10, 20, 30 and 31, for example in the form of a string "10/20/30/31".
Basierend auf den in dem Call enthaltenen Routinginformationen leitet der Knoten 10 den Call weiter zum Knoten 20, dieser zum Knoten 30 und dieser schließlich zum zweiten Knoten 31. Somit wurde der Call bis zum zweiten Knoten 31 geroutet, d. h. eine Kommunikationsverbindung zwischen dem ersten Knoten 11 und dem zweiten Knoten 31 eingerichtet. Based on the routing information contained in the call, the node 10 forwards the call to the node 20, the latter to the node 30 and the latter finally to the second node 31. The call was thus routed to the second node 31, i. H. a communication link is set up between the first node 11 and the second node 31.
Während zuvor ein besonders einfaches Beispiel eines Einrichtens einer Kommunikationsverbindung zwischen einem ersten und einem zweiten Knoten beschrieben wurde, sind hierzu viele Ausgestaltungsmöglichkeiten und Varianten möglich. Diese werden im Folgenden beschrieben. While a particularly simple example of setting up a communication link between a first and a second node was described above, many design options and variants are possible for this. These are described below.
Variante 1 version 1
Nachdem der Call wie zuvor beschrieben bis zum Knoten 31 geroutet wurde, kann dieser anhand der Routinginformation erkennen (beispielsweise weil sein Knotenidentifikator der letzte in den Routinginformationen enthaltene Identifikator ist), dass der Call für ihn als Zielknoten bestimmt ist. Der zweite Knoten 31 kann sodann Instruktionen, die in Form einer Payload in dem Call enthalten sein können, ausführen. Enthält der Call beispielsweise die Anweisung, Sensordaten zu erheben und an den ersten Knoten 11 zurückzusenden, kann der zweite Knoten 31 diese Daten erheben und anschließend eine entsprechende Nachricht, die wiederum die Routinginformationen enthält (allerdings in umgekehrter Reihenfolge), auf dem Rückweg des Routingpfades P zurücksenden. Diese Nachricht kann analog zum Call auf dem Hinweg durch die Knoten 30, 20 und 10 weitergegeben werden. Je nach Ausführung ist die Angabe des Knotenidentifikators des ursprünglich ersten Knotens 11 in den Routinginformationen nicht nötig, beispielsweise weil der Knoten 11 der einzige (weitere) Knoten in dem Netzwerk ist, in dem sich der Knoten 10 befindet. After the call has been routed to node 31 as described above, it can use the routing information to recognize (for example because its node identifier is the last identifier contained in the routing information) that the call is intended for it as the destination node. The second node 31 can then execute instructions which can be contained in the call in the form of a payload. For example, if the call contains the instruction to collect sensor data and send it back to the first node 11, the second node 31 can collect this data and then a corresponding message, which in turn contains the routing information (albeit in the reverse order), on the return path of the routing path P. send back. This message can be passed on through nodes 30, 20 and 10 on the way there, analogously to the call. Depending on the design, it is not necessary to specify the node identifier of the originally first node 11 in the routing information, for example because node 11 is the only (further) node in the network in which node 10 is located.
Gemäß dem bisher anhand von Fig. 2 beschriebenen Ausführungsbeispiel und dessen Weiterentwicklung müsste jede der gesendeten Nachrichten die (kompletten) Routinginformationen für den Routingpfad P enthalten. Variante 2 According to the exemplary embodiment described so far with reference to FIG. 2 and its further development, each of the messages sent would have to contain the (complete) routing information for the routing path P. Variant 2
In einer weiteren erfindungsgemäßen Ausgestaltung kann letzteres vermieden werden, um Speicherplatz in den Routingknoten bzw. in mit diesen verbundenen Speichern einzusparen und/oder um das Routen der Nachrichten effizienter zu gestalten. Zu diesem Zweck kann der erste Knoten 11 zunächst eine Startnachricht senden. Diese enthält zusätzlich zu den Routinginformationen, also den Identifikatoren der auf dem Routingpfad P liegenden Knoten, einen Verbindungsidentifikator. Dieser identifiziert die einzurichtende Verbindung, beispielsweise um diese von anderen eingerichteten oder einzurichtenden Kommunikationsverbindungen zu unterscheiden. In a further embodiment according to the invention, the latter can be avoided in order to save memory space in the routing nodes or in memories connected to them and / or to make the routing of the messages more efficient. For this purpose, the first node 11 can first send a start message. In addition to the routing information, that is to say the identifiers of the nodes on the routing path P, this contains a connection identifier. This identifies the connection to be set up, for example in order to distinguish it from other communication connections set up or to be set up.
Die Startnachricht wird nach ihrem Eintreffen beim Knoten 10 verarbeitet. Hierzu werden in einem entsprechenden Speicher unter dem Verbindungsidentifikator die Routingpfad-Informationen gespeichert, beispielsweise in einer Art Routingtabelle. Die Startnachricht wird dann entsprechend an den Knoten 20 weitergeleitet, dort entsprechend verarbeitet und zum Knoten 30 weitergeleitet. Dieser verarbeitet die Startnachricht ebenso und leitet sie schließlich an den Knoten 31 weiter, wo die Startnachricht auch entsprechend verarbeitet wird. Somit sind die Routingpfad- Informationen bei allen betroffenen Knoten hinterlegt, so dass die Routingpfad- Informationen anhand des Verbindungsidentifikators wieder aufgerufen werden können. Dies hat insbesondere den Vorteil, dass weitere Nachrichten, die zu dieser Kommunikationsverbindung gehören, die Routingpfad-Informationen nicht nochmal enthalten müssen. Es genügt also, dass zum Beispiel die Nachricht vom Knoten 31 zum Knoten 11 auf dem Rückweg lediglich den Verbindungsidentifikator aufweist. Die auf dem Routingpfad P liegenden Knoten können dann diese Rücknachricht anhand der hinterlegten Routingpfad-Informationen entsprechend weiterleiten. Das gleiche gilt für weitere Nachrichten, die von dem ersten Routingknoten 11 zum zweiten Routingknoten 31 oder umgekehrt gesendet werden. The start message is processed after it arrives at node 10. For this purpose, the routing path information is stored in a corresponding memory under the connection identifier, for example in a type of routing table. The start message is then forwarded accordingly to node 20, processed there accordingly and forwarded to node 30. This also processes the start message and finally forwards it to the node 31, where the start message is also processed accordingly. This means that the routing path information is stored in all affected nodes so that the routing path information can be called up again using the connection identifier. This has the particular advantage that further messages belonging to this communication connection do not have to contain the routing path information again. It is therefore sufficient that, for example, the message from node 31 to node 11 only has the connection identifier on the way back. The nodes on the routing path P can then forward this return message accordingly on the basis of the stored routing path information. The same applies to further messages that are sent from the first routing node 11 to the second routing node 31 or vice versa.
Variante 3 Variation 3
In einer weiteren vorteilhaften Weiterentwicklung werden nicht die gesamten Routingpfad-Informationen bei jedem beteiligten Knoten hinterlegt, sondern nur ein relevanter T eil. Um dies zu illustrieren, nehmen wir an, dass die in der Startnachricht enthaltenen Routinginformationen beispielsweise das Format „10/20/30/31“ haben. Außerdem enthält die Startnachricht einen Verbindungsidentifikator, wie beschrieben. Die Startnachricht wird nun vom ersten Knoten 11 zum Knoten 10 gesendet. Dieser erkennt anhand der Routinginformationen, dass die Startnachricht an den Knoten 20 weitergeleitet werden soll. Der Knoten 10 leitet also die Startnachricht an den Knoten 20 weiter. Zudem hinterlegt der Knoten 10 in seinem oder einem zugeordneten Speicher den Verbindungsidentifikator und, damit verbunden, die Knotenidentifikatoren der Knoten 11 und 20. Den Knotenidentifikator des Knotens 20 kann der Knoten 10 aus den Routinginformationen entnehmen. Den Identifikator des Knotens 11 kann der Knoten 10 aus der Tatsache entnehmen, dass er die Startnachricht von dem Knoten 11 erhalten hat. Weitere Teile der Routinginformationen, insbesondere die Identifikatoren der Knoten 30 und 31 , werden in der Routingtabelle im Knoten 10 nicht hinterlegt, weil dieser ohnehin nicht direkt mit diesen Knoten kommunizieren kann. In a further advantageous further development, not all of the routing path information is stored for each participating node, but only a relevant part. To illustrate this, let us assume that the routing information contained in the start message has the format “10/20/30/31”, for example. The start message also contains a connection identifier, as described. The start message is now sent from the first node 11 to the node 10. Using the routing information, the latter recognizes that the start message is to be forwarded to node 20. The node 10 therefore forwards the start message to the node 20. In addition, the node 10 stores the connection identifier and, connected to it, the node identifiers of the nodes 11 and 20 in its or an assigned memory. The node 10 can take the node identifier of the node 20 from the routing information. The node 10 can infer the identifier of the node 11 from the fact that it has received the start message from the node 11. Other parts of the routing information, in particular the identifiers of the nodes 30 and 31, are not stored in the routing table in the node 10 because the latter cannot communicate directly with these nodes anyway.
Der Knoten 20 verfährt nach Erhalt der Startnachricht entsprechend und hinterlegt in seiner Routingtabelle unter dem Verbindungsidentifikator den Identifikator des Knotens 30 als Identifikator des Nachbarknotens in Zielrichtung (also zum Zielknoten 31 hin) und zudem den Identifikator des Knotens 10 als Identifikator des Nachbarknotens in Startrichtung (also in Richtung zum Startknoten 11 hin). Außerdem leitet der Knoten 20 die Startnachricht zum Knoten 30 weiter, der entsprechend verfährt und die Startnachricht schließlich zum Knoten 31 weiterleitet. Dieser ist selbst der Zielknoten, so dass dort unter dem Verbindungsidentifkator lediglich der Identifikator des Knotens 30 als Identifikator des Nachbarknotens in Startrichtung hinterlegt werden muss. The node 20 proceeds accordingly after receiving the start message and stores in its routing table under the connection identifier the identifier of the node 30 as the identifier of the neighboring node in the destination direction (i.e. towards the destination node 31) and also the identifier of the node 10 as the identifier of the neighboring node in the start direction (i.e. towards starting node 11). In addition, node 20 forwards the start message to node 30, which proceeds accordingly and finally forwards the start message to node 31. This is itself the destination node, so that only the identifier of node 30 has to be stored there under the connection identifier as the identifier of the neighboring node in the start direction.
Weitere im Rahmen dieser nunmehr eingerichteten Kommunikationsverbindungen brauchen dann keine Routingpfad-Informationen mehr enthalten, sondern müssen lediglich den Verbindungsidentifikator angeben. Die beteiligten Knoten können dann anhand der in ihnen hinterlegten Routingtabellen ermitteln, an welche Nachbarknoten die Nachrichten weitergeleitet werden sollen. Further communication connections that have now been set up then no longer need to contain routing path information, but only need to specify the connection identifier. The nodes involved can then use the routing tables stored in them to determine to which neighboring nodes the messages are to be forwarded.
Variante 4 Variation 4
In einer weiteren Ausgestaltung können die in der Startnachricht enthaltenen Routingpfad-Informationen bei dem Weiterleiten zum nächsten Nachbarknoten verkürzt werden. Wenn beispielsweise der Routingpfad, wie oben beschrieben, vom ersten Knoten 11 über die Knoten 10, 20, 30 zum zweiten Knoten 31 führt, könnten die Routingpfad-Informationen im Prinzip durch den String In a further embodiment, the routing path information contained in the start message can be used when it is forwarded to the next neighboring node be shortened. If, for example, the routing path, as described above, leads from the first node 11 via the nodes 10, 20, 30 to the second node 31, the routing path information could in principle be through the string
„11/10/20/30/31“ dargestellt werden. Andererseits müssen die Knotenidentifikatoren der Knoten 11 und 10 nicht in der Startnachricht enthalten sein, die vom Knoten 11 zum Knoten 10 gesendet wird. Dem Knoten 10 ist sein Knotenidentifikator ohnehin bekannt, und außerdem erkennt der Knoten 10, dass die Startnachricht von dem Knoten 11 gesendet wurde. Weil die einzige Verbindung, die aus dem Netzwerk, in dem die Knoten 10 und 11 enthalten sind, über den Knoten 10 führt, kann also in diesem Fall die Startnachricht lediglich den String „20/30/31“ als Routingpfad- Information enthalten. Bei dem Weiterleiten der Startnachricht zum Knoten 20 kann der Knoten 10 die Routingpfad-Informationen um den Knotenidentifikator des Knotens 20 verkürzen, so dass dann die zu dem Knoten 20 zu leitende Startnachricht lediglich den String „30/31“ als Routinginformationen aufweist. Knoten 20 erkennt wiederum, dass er die Startnachricht vom Knoten 10 empfangen hat, so dass er diese Information in seiner Routingtabelle hinterlegen kann. Knoten 20 verfährt entsprechend und verkürzt die Routingpfad-Informationen zu „31“ und leitet die Startnachricht mit diesen verkürzten Routingpfad-Informationen an den Knoten 30 weiter. Auch dieser erkennt, dass er die Startnachricht vom Knoten 20 erhalten hat, so dass er diese Information in seiner Routingtabelle vermerken kann. Die von dem Knoten 30 an den Knoten 31 weiterzuleitende Startnachricht kann dann eine „leeren Pfad“ enthalten, weil dem Knoten 31 bekannt ist, dass er die Startnachricht vom Knoten 30 erhalten hat und hierauf nicht explizit anhand der in der Startnachricht enthaltenen Routingpfad-Informationen hingewiesen werden muss. “11/10/20/30/31” can be displayed. On the other hand, the node identifiers of nodes 11 and 10 do not have to be contained in the start message that is sent from node 11 to node 10. The node 10 knows its node identifier anyway, and the node 10 also recognizes that the start message was sent by the node 11. Because the only connection from the network in which nodes 10 and 11 are included leads via node 10, the start message in this case can only contain the string “20/30/31” as routing path information. When forwarding the start message to node 20, node 10 can shorten the routing path information by the node identifier of node 20 so that the start message to be sent to node 20 then only has the string “30/31” as routing information. Node 20 in turn recognizes that it has received the start message from node 10, so that it can store this information in its routing table. Node 20 proceeds accordingly and shortens the routing path information to “31” and forwards the start message with this shortened routing path information to node 30. This also recognizes that it has received the start message from node 20 so that it can note this information in its routing table. The start message to be forwarded from the node 30 to the node 31 can then contain an “empty path” because the node 31 knows that it has received the start message from the node 30 and has not explicitly pointed this out based on the routing path information contained in the start message must become.
Verbindunqsidentifikator Connection identifier
Insbesondere weil der oben erwähnte Verbindungsidentifikator gemäß manchen der oben beschriebenen Ausführungsformen für das korrekte Routen der Nachrichten benutzt wird, kommt diesem eine gewisse Bedeutung zu. Aus diesem Grund ist es sinnvoll sicherzustellen, dass für zwei verschiedene Kommunikationsverbindungen nicht der gleiche Verbindungsidentifikator benutzt wird. Dies könnte im Prinzip durch eine globale Absprache in allen beteiligten Netzwerken bewerkstelligt werden, wäre aber unter Umständen schwierig zu implementieren und/oder unflexibel. Obwohl möglich, wäre auch das Zuteilen eines Verbindungsidentifikators beispielsweise basierend auf dem Startknoten und einer Zeitangabe unter Umständen nicht eindeutig, weil zwei verschiedene Knoten in zwei verschiedenen Netzwerken unter Umständen den gleichen Knotenidentifikator tragen und evtl gleichzeitig einen Call senden. In particular because the connection identifier mentioned above is used in accordance with some of the embodiments described above for the correct routing of the messages, it is of certain importance. For this reason, it makes sense to ensure that the same connection identifier is not used for two different communication connections. In principle, this could be achieved through a global agreement in all participating networks, but it would be difficult to implement and / or inflexible under certain circumstances. Although possible, assigning a connection identifier would also be an example based on the start node and a time specification may not be unique, because two different nodes in two different networks may have the same node identifier and may send a call at the same time.
Gemäß einer erfindungsgemäßen Ausführungsform wird ein alternatives Verfahren zur Vergabe von Verbindungsidentifikatoren vorgeschlagen: Die Verbindungsidentifikatoren (oder zumindest ein Teil eines jeden Verbindungsidentifikators) werden zufällig generiert, beispielsweise durch den ersten Knoten selbst. Alternativ könnte der Verbindungsidentifikator auf eine entsprechende Anfrage hin von einem anderen Knoten generiert und dem ersten Knoten bzw. der angestrebten Kommunikationsverbindung zugeteilt werden. Das Einrichten der Kommunikationsverbindung kann dann entsprechend einem der oben beschriebenen Verfahren durchgeführt werden. According to one embodiment according to the invention, an alternative method for assigning connection identifiers is proposed: The connection identifiers (or at least a part of each connection identifier) are generated randomly, for example by the first node itself. Alternatively, the connection identifier could be generated by another node in response to a corresponding request and assigned to the first node or the desired communication connection. The communication connection can then be set up in accordance with one of the methods described above.
Mit zufällig generierten Verbindungsidentifikatoren kann es allerdings auch Vorkommen, dass zwei angestrebten Kommunikationsverbindungen, beispielsweise ausgehend von zwei verschiedenen Knoten, der gleiche Verbindungsidentifikator zugeteilt wird. Im Ausführungsbeispiel der Fig. 2 könnte beispielsweise der Knoten 11 eine Kommunikationsverbindung mit dem Knoten 31 wünschen und generiert hierfür einen Verbindungsidentifikator, beispielsweise „17“. Die Kommunikationsverbindung wird gemäß einem der oben beschriebenen Verfahren eingerichtet. Etwa zur gleichen Zeit, oder zumindest während die Kommunikationsverbindung zwischen dem Knoten 11 und dem Knoten 31 eingerichtet ist oder wird, wünscht beispielsweise der Knoten 41 eine Kommunikationsverbindung mit dem Knoten 32 und möchte hierfür zufällig auch den Verbindungsidentifikator „17“ benutzen. Der Knoten 41 sendet dann seine Startnachricht an den Knoten 40, der sie zum Knoten 20, wie oben beschrieben, weiterleitet. Dabei stellt Knoten 20 fest, dass bereits eine Kommunikationsverbindung mit dem Verbindungsidentifikator „17“ in seiner Routingtabelle existiert. Um eine „Kollision“ zu vermeiden bzw. um sicherzustellen, dass Nachrichten für beide Kommunikationsverbindungen korrekt geroutet werden, weist der Knoten 20 die zweite Startnachricht mit dem Verbindungsidentifikator „17“ zurück. Die von dem Knoten 41 gewünschte Kommunikationsverbindung wird also zunächst nicht weiter eingerichtet. Stattdessen sendet der Knoten 20 eine Nachricht an den Knoten 40 und dieser entsprechend eine Nachricht an den Knoten 41 zurück, um diese Knoten zu benachrichtigen, dass eine Kommunikationsverbindung mit dem Verbindungsidentifikator „17“ bereits existiert. Aufgrund dieser Nachricht generiert der Knoten 41 wiederum zufällig einen neuen Verbindungsidentifikatorfür die gewünschte Verbindung. Es erfolgt dann ein erneuter Versuch, die gewünschte Kommunikationsverbindung einzurichten, basierend auf dem neuen Verbindungsidentifikator. Je nach Implementierung kann es relativ unwahrscheinlich sein, dass dieser erneute Versuch wieder zurückgewiesen wird. Falls dies jedoch der Fall sein sollte, wiederholt sich dieser Teil des Verfahrens, bis die Kommunikationsverbindung zwischen dem Knoten 41 und dem Knoten 32 kollisionsfrei eingerichtet werden kann. With connection identifiers generated at random, however, it can also happen that two desired communication connections, for example starting from two different nodes, are assigned the same connection identifier. In the exemplary embodiment in FIG. 2, for example, the node 11 could wish to have a communication connection with the node 31 and generate a connection identifier for this purpose, for example “17”. The communication connection is established according to one of the methods described above. At about the same time, or at least while the communication connection between node 11 and node 31 is or is being set up, node 41, for example, wants a communication connection with node 32 and would like to use the connection identifier “17” for this. The node 41 then sends its start message to the node 40, which forwards it to the node 20, as described above. Node 20 establishes that a communication connection with connection identifier “17” already exists in its routing table. In order to avoid a “collision” or to ensure that messages for both communication connections are correctly routed, the node 20 rejects the second start message with the connection identifier “17”. The communication link desired by the node 41 is therefore initially no longer set up. Instead, the node 20 sends a message to the node 40 and this accordingly sends a message back to the node 41 in order to notify these nodes that a communication connection with the connection identifier “17” already exists. Based on this message, the Node 41 in turn randomly assigns a new connection identifier for the desired connection. A new attempt is then made to set up the desired communication connection based on the new connection identifier. Depending on the implementation, it can be relatively unlikely that this retry will be rejected again. If this should be the case, however, this part of the method is repeated until the communication link between node 41 and node 32 can be set up without collision.
Beenden einer Kommunikationsverbindunq Terminating a communication connection
Eine Weiterentwicklung, die im Zusammenhang mit allen der oben beschriebenen Verfahren benutzt werden kann, betrifft das Beenden bzw. den Abbau einer eingerichteten Kommunikationsverbindung. Dies wird wiederum anhand der Fig. 2 beschrieben, wiederum anhand des Beispiels, nach dem der Knoten 11 Sensordaten von dem Knoten 31 angefordert hatte. Der Abbau der Kommunikationsverbindung zwischen dem ersten Knotenl 1 und dem zweiten Knoten 31 kann beispielsweise durch eine Finish-Nachricht eingeleitet werden. Diese könnte beispielsweise durch den zweiten Knoten versendet werden, nachdem dieser festgestellt hat, dass er alle angeforderten Sensordaten übermittelt hat, oder durch den ersten Knoten 11, nachdem dieser festgestellt hat, dass keine weiteren Sensordaten von dem Knoten 31 nötig sind. A further development that can be used in connection with all of the methods described above relates to the termination or disconnection of an established communication link. This is again described with reference to FIG. 2, again with reference to the example according to which node 11 had requested sensor data from node 31. The clearing down of the communication link between the first node 1 and the second node 31 can be initiated, for example, by a finish message. This could for example be sent by the second node after it has determined that it has transmitted all the requested sensor data, or by the first node 11 after it has determined that no further sensor data is required from the node 31.
Wir nehmen nun an, dass der zweite Knoten 31 die Finish-Nachricht sendet und dass der Abbau bei dem Knoten 31 anfängt. Die Finish-Nachricht wird wie andere zu der entsprechenden Kommunikationsverbindung gehörende Nachrichten entlang des Routingpfads P gesendet, und zwar in diesem Beispiel vom Knoten 31 über die Knoten 30, 20 und 10 zum Knoten 11. Mit dem Senden der Finish-Nachricht markiert jeder beteiligte Knoten in seiner Routingtabelle die Kommunikationsverbindung bzw. den Verbindungsidentifikator als deaktiviert oder löscht den entsprechenden Eintrag, insbesondere zusammen mit den gespeicherten Knoten-Identifikatoren des Vorgängerknotens und/oder Nachfolgerknotens. Letzteres insbesondere, um Speicherplatz nicht unnötigerweise zu blockieren. In jedem Fall steht der entsprechende Verbindungsidentifikator dann für zukünftige gewünschte Kommunikationsverbindungen zur Verfügung. Somit wird die Wahrscheinlichkeit einer Kollision von Kommunikationsverbindungen mit gleichem Verbindungsidentifikator minimiert. We now assume that the second node 31 sends the finish message and that the dismantling begins with the node 31. The finish message is sent along the routing path P like other messages belonging to the corresponding communication link, namely in this example from node 31 via nodes 30, 20 and 10 to node 11. Each node involved marks each node involved by sending the finish message in its routing table the communication connection or the connection identifier as deactivated or deletes the corresponding entry, in particular together with the stored node identifiers of the preceding node and / or successor node. The latter in particular so as not to unnecessarily block storage space. In any case, the corresponding connection identifier is then available for future desired communication connections. Thus the probability becomes a Collision of communication links with the same link identifier minimized.
Wenn alternativ die Finish-Nachricht von dem ersten Knoten 11 gesendet wird, erfolgt der Abbau in umgekehrter Reihenfolge. Auch ist es möglich, dass die Finish-Nachricht bzw. der Abbau von einem anderen Knoten ausgeht, beispielsweise dem Knoten 20. Der Abbau der Kommunikationsverbindung pflanzt sich dann, ausgehend vom Knoten 20, in beide Richtungen fort, also in Richtung des ersten Knotens 11 und des zweiten Knotens 31. If, as an alternative, the finish message is sent by the first node 11, the clearing takes place in the reverse order. It is also possible for the finish message or the disconnection to originate from another node, for example node 20. The disconnection of the communication link then propagates in both directions, starting from node 20, that is to say in the direction of first node 11 and the second node 31.
Initial-Call Initial call
In einer weiteren Ausgestaltung erfolgt ein zusätzlicher Schritt noch vor dem Senden eines Calls zum Einrichten einer Kommunikationsverbindung. Dies wird wiederum anhand der Fig. 2 beschrieben. Als konkretes Anwendungsbeispiel wird nun angenommen, dass der Knoten 11 eine Robotersteuerung darstellt. Die Robotersteuerung 11 möchte nun beispielsweise für einen neuen Fertigungsprozess eine Bahnplanung ausarbeiten lassen. Während dies bei vielen Robotern lokal/intern durchgeführt werden kann, ist es unter Umständen sinnvoll, eine Bahnplanung durch einen anderen Knoten durchführen zu lassen, insbesondere in dem Fall, dass die Bahnplanung sehr rechenintensiv ist und die Robotersteuerung 11 nicht selbst über ausreichende Rechenkapazität verfügt. Knoten 11 könnte nun die Bahnplanung von einem bestimmten Knoten in dem in Fig. 2 gezeigten System anfordern, durch einen Call wie oben beschrieben, d. h. unter Angabe der entsprechenden Routingpfad- Informationen. Gemäß der vorliegenden Variante ist dem Knoten 11 aber nicht bekannt, welcher Knoten die Bahnplanung durchführen kann/soll. Entsprechend kann er auch zumindest zunächst keinen Call mit den benötigten Routingpfad- Informationen senden. Stattdessen kann das System so eingerichtet sein, dass beispielsweise im Knoten 10 hinterlegt ist, welcher Knoten auf eine entsprechende Anfrage hin Bahnplanungen durchführen kann/soll. Um eine Bahnplanung anzufordern, sendet der Knoten 11 nun eine entsprechende Nachricht, die vorliegend „Initial-Call“ genannt wird. Dieser Initial-Call wird an Knoten 10 gesendet und wird von diesem aufgrund seines Formats oder Inhalts als Bahnplanungsanfrage erkannt. Der Initial-Call kann beispielsweise den Inhalt „Bahnplanungsservice“ aufweisen. Im Knoten 10 kann nun eine Tabelle hinterlegt sein, die angibt, dass der Knoten 13 im gleichen Netzwerk für Bahnplanungen zuständig ist. Entsprechend wird ein Call generiert und gesendet, der die Routingpfad-Informationen enthält, damit die Kommunikation zwischen dem Knoten 11 und dem Knoten 13 im gleichen Netzwerk eingerichtet werden kann. Hierbei ist zu beachten, dass der Call nicht unbedingt von dem Knoten 11 gesendet wird. Weil er aufgrund der im Knoten 10 hinterlegten Tabelle generiert wird, könnte der Call beispielsweise von dem Knoten 10 gesendet werden. Als Weiterentwicklung muss dem Knoten 11 noch nicht einmal bekannt sein bzw. bekannt werden, dass der Knoten 13 der Zielknoten (oder der zweite Knoten) in der Kommunikationsverbindung ist, weil der Knoten 11 direkt nur mit dem Knoten 10 kommuniziert und es für den Knoten 11 nicht oder nicht unbedingt von Relevanz ist, durch welchen Knoten die Bahnplanung tatsächlich durchgeführt wird. In a further refinement, an additional step takes place before a call is sent to set up a communication connection. This is again described with reference to FIG. As a specific application example, it is now assumed that node 11 represents a robot controller. The robot controller 11 would like to have a path planning worked out for a new production process, for example. While this can be done locally / internally with many robots, it may make sense to have a path planning carried out by another node, especially in the event that the path planning is very computationally intensive and the robot controller 11 does not itself have sufficient computing capacity. Node 11 could now request the path planning from a specific node in the system shown in FIG. 2, by means of a call as described above, ie by specifying the corresponding routing path information. According to the present variant, however, the node 11 does not know which node can / should carry out the path planning. Accordingly, at least initially, he cannot send a call with the required routing path information. Instead, the system can be set up in such a way that, for example, it is stored in node 10 which node can / should carry out path planning in response to a corresponding request. In order to request path planning, the node 11 now sends a corresponding message, which in the present case is called an “initial call”. This initial call is sent to node 10 and is recognized by it as a path planning request based on its format or content. The initial call can, for example, have the content “rail planning service”. A table can now be stored in node 10 which indicates that node 13 is responsible for path planning in the same network. Accordingly, a call is generated and sent which contains the routing path information so that communication between node 11 and node 13 can be set up in the same network. It should be noted here that the call is not necessarily sent from node 11. Because it is generated on the basis of the table stored in node 10, the call could be sent by node 10, for example. As a further development, the node 11 does not even have to know or become aware that the node 13 is the target node (or the second node) in the communication connection, because the node 11 communicates directly only with the node 10 and it communicates with the node 11 It is not, or not necessarily, of relevance through which node the path planning is actually carried out.
Die zuletzt beschriebene Variante ermöglicht auch beispielsweise einen transparenten Umzug von Diensten. Beispielsweise könnte durch eine Veränderung von Zuständigkeiten der Bahnplanungsdienst, der bis zu einem bestimmten Zeitpunkt durch den Knoten 13 durchgeführt wurde, zu einem anderen Knoten „umgezogen“ worden sein. Dies könnte beispielsweise ein anderer Knoten im gleichen Netzwerk sein, beispielsweise Knoten 12, oder aber ein Knoten in einem anderen Netzwerk, beispielsweise Knoten 31, der beispielsweise zu einem Netzwerk eines anderen Unternehmens gehört. Um diesen Umzug zu implementieren, ist es ausreichend, dass die Tabelle im Knoten 10 aktualisiert wird, so dass unter „Bahnplanungsdienst“ nicht mehr der Knoten 13 vermerkt ist, sondern entsprechend der Knoten 12 bzw. der Knoten 31. Dieser „Umzug“ wird dem Knoten 11 , der den Bahnplanungsdienst anfordert, nicht oder nicht unbedingt bekannt. Knoten 11 sendet, wie zuvor beschrieben, einen Initial-Call an den Knoten 10, woraufhin dieser den eigentlichen Call zum Einrichten der Kommunikationsverbindung sendet, die nunmehr nicht mit dem Knoten 13 eingerichtet wird, sondern in dem erwähnten Beispiel mit dem Knoten 12 oder dem Knoten 31. Dies ist insbesondere dann von Vorteil, wenn mehrere Knoten (beispielsweise mehrere Roboter in einem Unternehmen) auf den gleichen Dienst zugreifen wollen. Anstatt in jedem einzelnen Knoten/Roboter etc. neue Pfadinformationen für den umgezogenen Dienst zu hinterlegen, ist eine Aktualisierung bei nur einem Knoten (in dem genannten Beispiel der Knoten 10) ausreichend, um zukünftige Anforderungen für den entsprechenden Dienst korrekt zu routen. Zuqriffsbeschränkunqen The variant described last also enables, for example, a transparent relocation of services. For example, due to a change in responsibilities, the path planning service, which was carried out by node 13 up to a certain point in time, could have been “moved” to another node. This could for example be another node in the same network, for example node 12, or a node in another network, for example node 31, which for example belongs to a network of another company. In order to implement this move, it is sufficient that the table in node 10 is updated so that node 13 is no longer noted under “path planning service”, but rather node 12 or node 31. This “move” becomes the Node 11, which requests the path planning service, is not known or not necessarily known. As described above, node 11 sends an initial call to node 10, whereupon the latter sends the actual call to set up the communication link, which is now not set up with node 13 but, in the example mentioned, with node 12 or the node 31. This is particularly advantageous if several nodes (for example several robots in a company) want to access the same service. Instead of storing new path information for the relocated service in each individual node / robot etc., an update for only one node (node 10 in the example mentioned) is sufficient to correctly route future requests for the corresponding service. Access restrictions
Eine weitere Ausgestaltung wird wiederum anhand der Fig. 2 beschrieben. Another embodiment is again described with reference to FIG.
Gemäß dieser Ausführungsform können Zugriffsmöglichkeiten eingeschränkt werden. Dies ist insbesondere dann von Interesse, wenn die betroffenen Netzwerke nicht alle beispielsweise zu dem gleichen Unternehmen gehören. Beispielsweise kann in dem Knoten 30 der Fig. 2 eine Zugriffskontrolle installiert sein, die den Zugriff auf das Netzwerk, dem die Knoten 30, 31 und 32 angehören, kontrolliert. In diesem Beispiel wird jeder Call, der von dem Knoten 20 zu dem Knoten 30 geleitet wird, von letzterem analysiert. Wenn eine entsprechende Autorisierung vorliegt, kann der Call weitergeleitet werden. Andernfalls wird er zurückgewiesen. According to this embodiment, access options can be restricted. This is of particular interest if the networks concerned do not all belong to the same company, for example. For example, an access control can be installed in node 30 in FIG. 2, which controls access to the network to which nodes 30, 31 and 32 belong. In this example, every call which is routed from node 20 to node 30 is analyzed by the latter. If the appropriate authorization is available, the call can be forwarded. Otherwise it will be rejected.
Eine solche Zugriffskontrolle muss aber nicht unbedingt in einem Knoten installiert sein, der dem zu kontrollierenden Netzwerk angehört. Eine Zugriffskontrolle für das Netzwerk, dem die Knoten 30, 31 und 32 angehören, könnte also beispielsweise auch in dem Knoten 20 installiert sein. Such an access control does not necessarily have to be installed in a node belonging to the network to be controlled. Access control for the network to which nodes 30, 31 and 32 belong could therefore also be installed in node 20, for example.
Durch die hier vorgestellte Zugriffskontrolle können Netzwerke gegen nicht autorisierte Zugriffe geschützt werden. Auch kann durch eine solche Zugriffskontrolle sichergestellt werden, dass Knoten beispielsweise nur auf solche Dienste Zugriff haben, für die eine entsprechende Gebühr bezahlt wurde. The access control presented here can protect networks against unauthorized access. Such an access control can also ensure that nodes, for example, only have access to services for which a corresponding fee has been paid.
Fig. 3 zeigt ein Ablaufdiagramm mit Verfahrensschritten eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens. Nach dem Start 100 des Verfahrens wird in einem Schritt 101 ein Call zum Einrichten einer Kommunikationsverbindung gesendet. Der Call weist Routingpfad-Informationen auf, die den Routingpfad von einem ersten Knoten zu einem zweiten Knoten angeben. In einem weiteren Schritt 102 wird die Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten basierend auf den Routingpfad-Informationen eingerichtet. Danach kann das Verfahren enden (Schritt 103). 3 shows a flow chart with method steps of an exemplary embodiment of a method according to the invention. After the method has started 100, a call to set up a communication connection is sent in a step 101. The call has routing path information which specifies the routing path from a first node to a second node. In a further step 102, the communication connection between the first node and the second node is set up based on the routing path information. The method can then end (step 103).
Weitere Details von Ausführungsformen eines erfindungsgemäßen Verfahrens wurden bereits zuvor beschrieben. Ausführungsformen der vorliegenden Erfindung eignen sich für verschiedene Anwendungen. Als nicht einschränkende Beispiele seien die folgenden Anwendungen genannt. Further details of embodiments of a method according to the invention have already been described above. Embodiments of the present invention have various uses. The following applications may be mentioned as non-limiting examples.
Beispiel 1 example 1
Ein Benutzer hat eine Benutzerschnittstelle, mit der er eine konkrete Roboternutzerapplikation verwalten kann. Mit der vorliegenden Erfindung kann diese Benutzerschnittstelle im Wesentlichen überall benutzt werden: Direkt angeschlossen an dem Roboter; in einem WLAN-Netzwerk in der Fabrik, in der sich der Roboter befindet; in einem Intranet der Firma, zu der der Roboter gehört; oder über das öffentliche Internet. A user has a user interface with which he can manage a specific robot user application. With the present invention, this user interface can be used essentially anywhere: directly connected to the robot; on a WiFi network in the factory where the robot is located; on an intranet of the company to which the robot belongs; or over the public internet.
Je nach Ausführung und abhängig von anderen Faktoren kann der Routingpfad bzw. können die Routingpfad-Informationen dem Benutzer bzw. dem Gerät (Computer, Laptop, Tablet, Smartphone etc.), das der Benutzer als Schnittstelle benutzt, bereits bekannt sein oder nicht. Solche Faktoren können insbesondere der aktuelle „Standort“ des als Schnittstelle benutzten Geräts sein und/oder die (direkte) Anbindung an ein bestimmtes Netzwerk. Depending on the design and other factors, the routing path or the routing path information may or may not already be known to the user or to the device (computer, laptop, tablet, smartphone, etc.) that the user is using as an interface. Such factors can in particular be the current “location” of the device used as an interface and / or the (direct) connection to a specific network.
Falls der Routingpfad bzw. die Routingpfad-Informationen nicht bereits bekannt sind, können diese ermittelt werden. Hierfür kommen mehrere Möglichkeiten in Betracht, die im Übrigen auch bei anderen Beispielen oder Ausführungsformen Anwendung finden können: If the routing path or the routing path information is not already known, these can be determined. There are several possibilities for this, which can also be used in other examples or embodiments:
(a) Pfad im Dateisystem: Es gibt eine Wurzel im Netzwerk, die von überall direkt adressierbar ist (z.B. ein Knoten im Cloud-Netzwerk des Roboterherstellers) und es gibt eine logische Topologie, z.B.: cloud/kunde/fabrik/roboter (a) Path in the file system: There is a root in the network that can be directly addressed from anywhere (e.g. a node in the cloud network of the robot manufacturer) and there is a logical topology, e.g. cloud / customer / factory / robot
(b) Interaktives Browsing: Der Benutzer durchsucht selbst das Netz ausgehend von seinem lokalen Knoten. Die Interaktion ist dann ähnlich wie in einem Filesystem Browser. Der Benutzer navigiert Schritt für Schritt von einem Knoten zum nächsten (Nachbar-) Knoten und von dort wiederum zum nächsten (Nachbar-) Knoten usw. Wenn der Benutzer schließlich sein Ziel gefunden hat, entspricht der so gefundene Pfad dem gesuchten Routingpfad. (c) Telefonbuch/Suchdienst: Es gibt direkt erreichbare Dienste, die die Routingpfade speichern und anhand von Zusatzinformationen durchsuchbar machen. Dienste/Roboter können sich an einem solchen Dienst mit beliebiger Information anmelden und auffindbar sein. Z.B. übergibt der Kunde zuerst einem Dienst (beispielsweise auf cloud/kundel/search) als Suchbegriff einen Roboternamen und bekommt den Routingpfad als Antwort von diesem Dienst. (b) Interactive browsing: The user searches the network himself starting from his local node. The interaction is then similar to that in a filesystem browser. The user navigates step by step from one node to the next (neighboring) node and from there to the next (neighboring) node, etc. When the user has finally found his destination, the path found in this way corresponds to the routing path sought. (c) Telephone book / search service: There are directly accessible services that save the routing paths and make them searchable on the basis of additional information. Services / robots can log on to such a service with any information and can be found. For example, the customer first gives a service (for example on cloud / kundel / search) a robot name as a search term and receives the routing path as a response from this service.
(d) Domain-Name-System (dies kann dem entsprechen, was in dem Abschnitt „Initial- Call“ beschrieben ist, bzw. hierauf aufbauen): Der Zieldienst/Roboter hat einen abstrakten Namen. Dieser abstrakte Name ist dem Benutzer bekannt. Außerdem wird der abstrakte Name und der zu dem Zieldienst/Roboter führende aktuelle Routingpfad in direkt erreichbaren Diensten hinterlegt. Falls ein Dienst/Roboter „umzieht“, wird die hinterlegte Information aktualisiert. Der Nutzer kann dann anhand des ihm bekannten abstrakten Namen auf den Zieldienst/Roboter zugreifen. (d) Domain name system (this can correspond to what is described in the “Initial Call” section or build on it): The target service / robot has an abstract name. This abstract name is known to the user. In addition, the abstract name and the current routing path leading to the target service / robot are stored in directly accessible services. If a service / robot "moves", the stored information is updated. The user can then access the target service / robot using the abstract name known to him.
Beispiel 2 Example 2
Für eine Kundenapplikation wird ein Roboter eines Kunden mit zusätzlichen Sensoren ausgestattet. Es werden kundenspezifische Dienste entwickelt, die die Sensordaten auslesen und auf dem Roboter laufen. Diese kundenspezifischen Erweiterungsdienste werden auf dem Roboter an das (beispielsweise in Fig. 1 gezeigte) Gesamtnetzwerk 50 angebunden und sind damit beispielsweise auch in einem Cloud-Netzwerk verfügbar, ohne dass Änderungen an der Kommunikation von Kunde zu dem Netzwerk des Roboterherstellers notwendig sind. A customer's robot is equipped with additional sensors for a customer application. Customer-specific services are developed that read out the sensor data and run on the robot. These customer-specific expansion services are connected on the robot to the overall network 50 (shown for example in FIG. 1) and are therefore also available, for example, in a cloud network without changes to the communication from the customer to the network of the robot manufacturer being necessary.
Beispiel 3 Example 3
Das Auslesen von Sensordaten wurde bereits erwähnt. So kann beispielsweise ein Mitarbeiter einer Roboterherstellerfirma über das Intranet dieser Firma im Rahmen einer Kundenbetreuung Sensordaten bezüglich eines Roboters abfragen, der sich in einem anderen Netzwerk befindet. Sensordaten können auch automatisch von dem Kundennetzwerk an das Netzwerk der Roboterherstellerfirma gemeldet werden. Diese Daten können beispielsweise im Kundennetzwerk oder im Netzwerk der Roboterherstellerfirma auf Anomalitäten überprüft werden. Im Falle einer signifikanten Abweichung von vorgegebenen Werten können dann gegebenenfalls zusätzliche Sensordaten angefordert werden, beispielsweise um eine Diagnose eines Problems bezüglich des Roboters zu ermöglichen. Reading out sensor data has already been mentioned. For example, an employee of a robot manufacturing company can use the company's intranet to query sensor data relating to a robot that is in another network as part of customer service. Sensor data can also be automatically reported from the customer network to the network of the robot manufacturer company. This data can be checked for anomalies, for example, in the customer network or in the network of the robot manufacturer. In the event of a significant deviation from specified values, additional Sensor data are requested, for example to enable a diagnosis of a problem with respect to the robot.
Beispiel 4 Example 4
Es wurde bereits beschrieben, dass beispielsweise Bahnplanungsdienste oder andere Dienste, die im Zusammenhang mit einer automatisierbaren industriellen Anlage von Interesse sein könnten, ausgelagert werden können, d. h. nicht direkt durch die oder an der industriellen Anlage erbracht werden. Dadurch kann gegebenenfalls Speicherkapazität und/oder Rechenkapazität an der Anlage bzw. an mehreren Anlagen eingespart werden, was eine kostengünstigere und/oder Ressourcen schonende Herstellung begünstigen kann. Die entsprechenden Dienste können dann zentral, also für mehrere Anlagen, durch einen Knoten beispielsweise in einem anderen Netzwerk erbracht werden. Zudem kann die Bereitstellung dieser Dienste dynamisch auf andere Knoten verlagert werden. Insbesondere, wenn diese Verlagerung „transparent“ durchgeführt wird, ist hierfür unter Umständen nur eine Aktualisierung einer Routentabelle oder ähnliches an einem einzigen Knoten nötig, und nicht an allen Knoten, die den betreffenden Dienst benutzen, wie bereits beschrieben. It has already been described that, for example, path planning services or other services that could be of interest in connection with an automatable industrial plant can be outsourced, i. H. are not provided directly by or on the industrial system. As a result, storage capacity and / or computing capacity can be saved in the system or in several systems, which can promote more cost-effective and / or resource-saving production. The corresponding services can then be provided centrally, i.e. for several systems, by a node in another network, for example. In addition, the provision of these services can be dynamically shifted to other nodes. In particular, if this relocation is carried out "transparently", it may only be necessary to update a route table or the like at a single node, and not at all nodes that use the service in question, as already described.
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt. Bezuqszeichenliste Although exemplary embodiments have been explained in the preceding description, it should be pointed out that a large number of modifications are possible. It should also be pointed out that the exemplary designs are only examples that are not intended to restrict the scope of protection, the applications and the structure in any way. Rather, the preceding description provides a person skilled in the art with guidelines for the implementation of at least one exemplary embodiment, whereby various changes, in particular with regard to the function and arrangement of the described components, can be made without departing from the scope of protection as it emerges from the claims and these equivalent combinations of features. Reference list
1-4 Knoten / Identifikatoren 1-4 nodes / identifiers
C, D, F, K, S, T Knoten / Identifikatoren K-l Netzwerk (Intranet Roboterhersteller)C, D, F, K, S, T nodes / identifiers K-l network (intranet robot manufacturer)
CL-C, CL-S (Cloud-)Netzwerke C-D, C-F, C-T (Kunden-)Netzwerke 10-13 Knoten 20-21 Knoten 30-32 Knoten CL-C, CL-S (cloud) networks C-D, C-F, C-T (customer) networks 10-13 nodes 20-21 nodes 30-32 nodes
40-41 Knoten 50 Gesamtnetzwerk 40-41 nodes 50 total network
100-103 Verfahrensschritte 100-103 process steps

Claims

Patentansprüche Claims
1. Verfahren zum Einrichten einer Kommunikationsverbindung zwischen einem ersten Knoten (11) in einem ersten von wenigstens zwei Netzwerken und einem zweiten Knoten (31) in einem zweiten der wenigstens zwei Netzwerke, wobei wenigstens einer des ersten und des zweiten Knotens (11 , 31) eine automatisierbare industrielle Vorrichtung oder eine automatisierbare industrielle Anlage oder eine Steuerung hierfür ist, wobei die wenigstens zwei Netzwerke einzeln jeweils einen homogenen Adressraum bilden, wobei die wenigstens zwei Netzwerke zusammen keinen homogenen Adressraum bilden, wobei das Verfahren die folgenden Schritte aufweist: 1. A method for setting up a communication link between a first node (11) in a first of at least two networks and a second node (31) in a second of the at least two networks, at least one of the first and second nodes (11, 31) is an automatable industrial device or an automatable industrial plant or a control therefor, the at least two networks individually each forming a homogeneous address space, the at least two networks together not forming a homogeneous address space, the method having the following steps:
Senden (101) eines Calls zum Einrichten der Kommunikationsverbindung zwischen dem ersten Knoten und dem zweiten Knoten, wobei der Call Routingpfad-Informationen (10/20/30/31) aufweist, die den Routingpfad von dem ersten Knoten (11) zu dem zweiten Knoten (31) angeben, wobei die Routingpfad- Informationen (10/20/30/31) wenigstens einen Identifikator (10, 20, 30, 31) eines jeden der auf dem Routingpfad zu traversierenden Netzwerken oder Knoten, jedoch nicht notwendigerweise einen Identifikator des ersten Netzwerks, aufweisen; und Sending (101) a call to set up the communication link between the first node and the second node, the call having routing path information (10/20/30/31) which describes the routing path from the first node (11) to the second node (31), the routing path information (10/20/30/31) at least one identifier (10, 20, 30, 31) of each of the networks or nodes to be traversed on the routing path, but not necessarily an identifier of the first Network, have; and
Einrichten (102) der Kommunikationsverbindung zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) basierend auf den Routingpfad-Informationen (10/20/30/31). Establishing (102) the communication link between the first node (11) and the second node (31) based on the routing path information (10/20/30/31).
2. Verfahren nach Anspruch 1, wobei die Routingpfad-Informationen (10/20/30/31) einen Identifikator des zweiten Knotens (31) aufweisen. 2. The method according to claim 1, wherein the routing path information (10/20/30/31) has an identifier of the second node (31).
3. Verfahren nach Anspruch 1 oder 2, wobei der Call ferner einen Verbindungs- Identifikator aufweist. 3. The method according to claim 1 or 2, wherein the call further comprises a connection identifier.
4. Verfahren nach Anspruch 3, wobei die Kommunikationsverbindung zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) wenigstens zwei Nachrichten aufweist und wobei alle Nachrichten dieser Kommunikationsverbindung zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) diesen Verbindungs- Identifikator aufweisen. 4. The method of claim 3, wherein the communication link between the first node (11) and the second node (31) has at least two messages and wherein all messages of this communication link between the first node (11) and the second node (31) this link - Have an identifier.
5. Verfahren nach Anspruch 4, wobei zumindest ein Teil des Verbindungs- Identifikators zufällig generiert oder zugeteilt wird, insbesondere durch den ersten Knoten (11), und insbesondere wobei im Falle, dass die Verbindungs-Identifikatoren eines ersten und eines zweiten Calls übereinstimmen und insbesondere im Falle, dass die Routingpfade des ersten und zweiten Calls über den gleichen Knoten (20) führen, der zweite Call abgelehnt wird und/oder ein neuer Verbindungs-Identifikator für den zweiten Call generiert oder diesem zugeteilt wird. 5. The method according to claim 4, wherein at least part of the connection identifier is generated or allocated randomly, in particular by the first node (11), and in particular where in the event that the connection identifiers of a first and a second call match and in particular in the event that the routing paths of the first and second call lead via the same node (20), the second call is rejected and / or a new connection identifier is generated for the second call or allocated to it.
6. Verfahren nach einem der Ansprüche 3 bis 5, wobei für einen oder den ersten Call in jedem auf dem Routingpfad zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) liegenden Knoten oder einer zugehörigen Speichervorrichtung der zugehörige Verbindungs-Identifikator und ein Knoten-Identifikator eines Vorgängerknotens und ein Knoten-Identifikator eines Nachfolgerknotens gespeichert wird, wobei der Vorgängerknoten ein auf dem Routingpfad liegender Knoten, insbesondere ein auf dem Routingpfad unmittelbar benachbart liegender Knoten, in Richtung des ersten Knotens (11) ist, und wobei der Nachfolgerknoten ein auf dem Routingpfad liegender Knoten, insbesondere ein auf dem Routingpfad unmittelbar benachbart liegender Knoten, in Richtung des zweiten Knotens (31) ist. 6. The method according to any one of claims 3 to 5, wherein for one or the first call in each on the routing path between the first node (11) and the second node (31) lying node or an associated storage device the associated connection identifier and a Node identifier of a previous node and a node identifier of a successor node are stored, the previous node being a node on the routing path, in particular a node immediately adjacent on the routing path, in the direction of the first node (11), and the successor node being a Node lying on the routing path, in particular a node lying directly adjacent on the routing path, in the direction of the second node (31).
7. Verfahren nach einem der Ansprüche 3 bis 6, wobei die Routingpfad- Informationen (10/20/30/31) und der dazugehörige Verbindungs-Identifikator eines Calls in einer Startnachricht enthalten sind. 7. The method according to any one of claims 3 to 6, wherein the routing path information (10/20/30/31) and the associated connection identifier of a call are contained in a start message.
8. Verfahren nach Anspruch 7, insbesondere in Abhängigkeit von Anspruch 6, wobei auf die Startnachricht folgende Nachrichten dieses Calls den dazugehörigen Verbindungs-Identifikator, nicht aber die Routingpfad-Informationen (10/20/30/31) aufweisen, wobei die auf die Startnachricht folgenden Nachrichten vorzugsweise anhand der in den auf dem Routingpfad zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) liegenden Knoten oder der zugehörigen Speichervorrichtung gespeicherten Knoten-Identifikatoren geroutet werden. 8. The method according to claim 7, in particular as a function of claim 6, wherein messages of this call following the start message have the associated connection identifier, but not the routing path information (10/20/30/31), the messages relating to the start message The following messages are preferably routed using the node identifiers stored on the routing path between the first node (11) and the second node (31) or the associated storage device.
9. Verfahren nach Anspruch 6, oder nach einem der Ansprüche 7 bis 8 in direkter oder indirekter Abhängigkeit von Anspruch 6, wobei beim Beenden des Calls in den auf dem Routingpfad zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) liegenden Knoten oder der zugehörigen Speichervorrichtung der gespeicherte zugehörige Verbindungs-Identifikator und/oder der gespeicherte Knoten-Identifikator des Vorgängerknotens und/oder der gespeicherte Knoten- Identifikator des Nachfolgerknotens deaktiviert werden, insbesondere gelöscht werden. 9. The method according to claim 6, or according to one of claims 7 to 8 in direct or indirect dependence on claim 6, wherein when the call is terminated in the nodes lying on the routing path between the first node (11) and the second node (31) or the associated storage device, the stored associated connection identifier and / or the stored node identifier of the previous node and / or the stored node identifier of the successor node are deactivated, in particular deleted.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Kommunikationsverbindung eine bidirektionale Kommunikationsverbindung ist. 10. The method according to any one of the preceding claims, wherein the communication link is a bidirectional communication link.
11. Verfahren nach einem der vorhergehenden Ansprüche, ferner aufweisend: vor dem Senden des Calls, Senden eines Initial-Calls durch den ersten Knoten (11), wobei der Initial-Call keine oder nur unvollständige Routingpfad- Informationen aufweist, wobei anhand des Initial-Calls die für den Call benötigten Routingpfad-Informationen (10/20/30/31) ermittelt werden können, insbesondere durch einen von dem ersten Knoten (11) verschiedenen Knoten, insbesondere mithilfe einer Zuordnung zwischen einer in dem Initial-Call enthaltenen Information und den Routingpfad-Informationen (10/20/30/31). 11. The method according to any one of the preceding claims, further comprising: before sending the call, sending an initial call by the first node (11), wherein the initial call has no or only incomplete routing path information, wherein based on the initial Calls the routing path information (10/20/30/31) required for the call can be determined, in particular by a node different from the first node (11), in particular with the aid of an association between information contained in the initial call and the Routing path information (10/20/30/31).
12. Verfahren nach einem der vorhergehenden Ansprüche, ferner aufweisend das Zurückweisen eines Calls, insbesondere an einem oder durch einen auf dem Routingpfad zwischen dem ersten Knoten (11) und dem zweiten Knoten (31) liegenden Knoten, insbesondere im Falle, dass der Call oder die Kommunikationsverbindung nicht autorisiert ist. 12. The method according to any one of the preceding claims, further comprising rejecting a call, in particular at or by one on the routing path between the first node (11) and the second node (31) lying nodes, especially in the event that the call or the communication link is not authorized.
13. Verfahren nach einem der vorhergehenden Ansprüche, wobei wenigstens einer des ersten und des zweiten Knotens (11, 31) eine autonome Transportvorrichtung, ein stationärer oder mobiler Manipulator, eine stationäre oder mobile13. The method according to any one of the preceding claims, wherein at least one of the first and the second node (11, 31) is an autonomous transport device, a stationary or mobile manipulator, a stationary or mobile
Manipulatoranordnung, insbesondere ein stationärer oder mobiler Roboter oder eine stationäre oder mobile Roboteranordnung, oder eine Steuerung hierfür, oder eine Kombination aus zwei oder mehr von diesen ist. Manipulator arrangement, in particular a stationary or mobile robot or a stationary or mobile robot arrangement, or a control for this, or a combination of two or more of these.
14. Steuervorrichtung für einen Knoten, insbesondere für einen Manipulator, insbesondere für einen Roboter, wobei die Steuervorrichtung zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist. 14. Control device for a node, in particular for a manipulator, in particular for a robot, the control device being set up to carry out a method according to one of the preceding claims.
15. Computerprogramm, das ein Verfahren nach einem der Ansprüche 1 bis 13 ausführt, wenn es in einer Steuervorrichtung nach Anspruch 14 abläuft. 15. Computer program that executes a method according to one of claims 1 to 13 when it runs in a control device according to claim 14.
16. Computerprogrammprodukt mit Programmcode, der auf einem maschinenlesbaren Träger gespeichert ist und ein Computerprogramm nach Anspruch 15 umfasst. 16. Computer program product with program code which is stored on a machine-readable carrier and which comprises a computer program according to claim 15.
EP20749875.9A 2019-08-07 2020-07-30 Communication with automatable industrial devices or systems or with the controller thereof Pending EP4010767A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019211843.7A DE102019211843A1 (en) 2019-08-07 2019-08-07 Communication with automatable industrial devices or systems or with their control
PCT/EP2020/071506 WO2021023614A1 (en) 2019-08-07 2020-07-30 Communication with automatable industrial devices or systems or with the controller thereof

Publications (1)

Publication Number Publication Date
EP4010767A1 true EP4010767A1 (en) 2022-06-15

Family

ID=71894827

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20749875.9A Pending EP4010767A1 (en) 2019-08-07 2020-07-30 Communication with automatable industrial devices or systems or with the controller thereof

Country Status (5)

Country Link
US (1) US11799759B2 (en)
EP (1) EP4010767A1 (en)
CN (1) CN114556880B (en)
DE (1) DE102019211843A1 (en)
WO (1) WO2021023614A1 (en)

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842430B1 (en) * 1996-10-16 2005-01-11 Koninklijke Philips Electronics N.V. Method for configuring and routing data within a wireless multihop network and a wireless network for implementing the same
US6130881A (en) * 1998-04-20 2000-10-10 Sarnoff Corporation Traffic routing in small wireless data networks
US6449354B1 (en) * 1999-06-08 2002-09-10 Nortel Networks Limited Communication system, article and method of configuring and establishing a connection therein
US6785226B1 (en) * 1999-09-01 2004-08-31 Carriercomm, Inc. System and method for data routing over a network
US7797367B1 (en) * 1999-10-06 2010-09-14 Gelvin David C Apparatus for compact internetworked wireless integrated network sensors (WINS)
US20020031131A1 (en) * 2000-02-02 2002-03-14 Yechiam Yemini Method and apparatus for the exchange of data between a dynamically addressed network and a foreign network
US8996705B2 (en) * 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
MXPA04004719A (en) * 2003-05-19 2004-09-06 Eaton Corp Ad-hoc network and method of routing communications in a communication network.
US7453852B2 (en) * 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
US20070061041A1 (en) * 2003-09-02 2007-03-15 Zweig Stephen E Mobile robot with wireless location sensing apparatus
WO2005099222A1 (en) * 2004-04-05 2005-10-20 Telefonaktiebolaget Lm Ericsson (Publ) Method, communication device and system for address resolution mapping in a wireless multihop ad hoc network.
US7649834B2 (en) * 2004-09-15 2010-01-19 At&T Intellectual Property Ii, L.P. Method and apparatus for determining neighboring routing elements and rerouting traffic in a computer network
US20070019641A1 (en) * 2005-07-22 2007-01-25 Rockwell Automation Technologies, Inc. Execution of industrial automation applications on communication infrastructure devices
US8156232B2 (en) * 2005-09-12 2012-04-10 Rockwell Automation Technologies, Inc. Network communications in an industrial automation environment
US8281385B2 (en) * 2005-09-29 2012-10-02 Rockwell Automation Technologies, Inc. Internet friendly proxy server extending legacy software connectivity
US8175089B2 (en) * 2005-09-30 2012-05-08 Rockwell Automation Technologies, Inc. Extended address space capability for an industrial protocol
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
US7676279B2 (en) * 2006-09-29 2010-03-09 Rockwell Automation Technologies, Inc. Services for industrial control systems
CN1988546A (en) * 2006-12-15 2007-06-27 华为技术有限公司 Method and system for obtaining conversation start protocol news transmission path
WO2009036792A1 (en) 2007-09-21 2009-03-26 Greenpeak Technologies Compressed source routing
US8396022B1 (en) * 2007-11-07 2013-03-12 Dust Networks, Inc. Source routing bandwidth activation
CN101272395B (en) * 2008-05-20 2012-07-11 北京交通大学 Hierarchical access control method of communication network
US9253707B2 (en) * 2008-06-04 2016-02-02 Koninklijke Philips N.V. Network interface unit for a node in a wireless multi-hop network, and a method of establishing a network path between nodes in a wireless multi-hop network
JP5044537B2 (en) * 2008-12-15 2012-10-10 株式会社日立製作所 Transport control server, network system, and aggregated path determination method
US8000267B2 (en) * 2009-02-24 2011-08-16 Palo Alto Research Center Incorporated Network routing with path identifiers
EP2249541A1 (en) * 2009-05-07 2010-11-10 France Telecom Distribution of communication flows between two nodes linked by different network paths
US9788185B2 (en) * 2011-06-09 2017-10-10 Lg Electronics Inc. Method and apparatus for finding a neighbor in a wireless communication system
EP2825922A1 (en) * 2012-03-15 2015-01-21 Schneider Electric Industries SAS Device address management in an automation control system
CN104471906A (en) * 2012-05-25 2015-03-25 瑞典爱立信有限公司 A method of and apparatus for configuring a link in a label switching communication network
US10904144B2 (en) * 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US9621969B2 (en) * 2013-11-11 2017-04-11 Infinera Corporation Management and control of software defined networking enabled open transport networks
EP3059930B1 (en) * 2015-02-18 2021-01-06 Siemens Aktiengesellschaft Method for configuring a communication device of an industrial automation system and communication device
ES2691369T3 (en) * 2015-02-27 2018-11-27 Siemens Aktiengesellschaft Procedure for data transmission inside an industrial automation system and communications device
EP3091714B1 (en) * 2015-05-04 2018-03-21 Siemens Aktiengesellschaft Method for providing a name service within an industrial automation system and communication device
EP3113461B1 (en) * 2015-06-30 2019-03-20 Siemens Aktiengesellschaft Method for establishing communication links to redundant control devices of an industrial automation system and control apparatus
EP3320435A1 (en) * 2015-07-09 2018-05-16 Telecom Italia S.p.A. Method and system of ict services provisioning
EP3136688B1 (en) * 2015-08-31 2021-06-23 Siemens Aktiengesellschaft Method for provision of access to configuration data within an industrial automation system and web server component
EP3142334B1 (en) 2015-09-11 2019-11-06 Siemens Aktiengesellschaft Method for operating communication devices within an industrial automation system
CN108463975B (en) * 2015-10-26 2020-03-27 Abb瑞士股份有限公司 Method, node and system for establishing independent network path
US9836512B1 (en) * 2016-05-11 2017-12-05 Acalvio Technologies, Inc. Systems and methods for identifying similar hosts
EP3267636B1 (en) * 2016-07-06 2018-10-31 Siemens Aktiengesellschaft Modular industrial automation device and method for the configuration of a modular industrial automation device
US10259117B2 (en) * 2016-08-02 2019-04-16 At&T Intellectual Property I, L.P. On-demand robot virtualization
US10122627B2 (en) * 2016-08-31 2018-11-06 Citrix Systems, Inc. Network routing through an overlay network
US10153964B2 (en) * 2016-09-08 2018-12-11 Citrix Systems, Inc. Network routing using dynamic virtual paths in an overlay network
US10412042B2 (en) * 2016-09-21 2019-09-10 Rockwell Automation Technologies, Inc. Topology based internet protocol (IP) addressing
US10646994B2 (en) * 2017-04-25 2020-05-12 At&T Intellectual Property I, L.P. Robot virtualization leveraging Geo analytics and augmented reality
US10733004B2 (en) * 2017-04-26 2020-08-04 At&T Intellectual Property I, L.P. Intelligent service on-demand robot virtualization
EP3462710B1 (en) * 2017-09-29 2020-01-15 Siemens Aktiengesellschaft Method for providing a name service within an industrial automation system and switch
WO2019206427A1 (en) * 2018-04-27 2019-10-31 Siemens Aktiengesellschaft Method for determining device addresses within a communication network of an industrial automation system, communication device and control unit
US10826823B2 (en) * 2018-07-31 2020-11-03 Facebook, Inc. Centralized label-based software defined network
WO2020027639A1 (en) * 2018-08-03 2020-02-06 엘지전자 주식회사 Mobile terminal for displaying whether qos is satisfied in wireless communication system
EP3611876A1 (en) * 2018-08-13 2020-02-19 Siemens Aktiengesellschaft Method for configuring, method for providing topology information, use, device, computer program and computer readable medium
US20200364173A1 (en) * 2018-09-04 2020-11-19 All Axis Robotics, LLC Universal bridge controller for machine language interpretive collaborative robot and machine interface
EP3621245B1 (en) * 2018-09-05 2022-03-09 Siemens Aktiengesellschaft Method for the automatic configuration of routers, method for automatic address configuration, router, computer program and computer readable medium
WO2020080913A1 (en) * 2018-10-19 2020-04-23 엘지전자 주식회사 Method supporting separate data transmission for independent network slices in wireless communication system
US11877341B2 (en) * 2019-01-18 2024-01-16 Lg Electronics Inc. Method and apparatus for access control in wireless communication system
US20200245235A1 (en) * 2019-01-24 2020-07-30 Lg Electronics Inc. Method for selecting non-public network in wireless communication system and apparatus thereof
US20200259896A1 (en) * 2019-02-13 2020-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Industrial Automation with 5G and Beyond
WO2020204536A1 (en) * 2019-03-29 2020-10-08 엘지전자 주식회사 Method for terminal to connect to network in wireless communication system

Also Published As

Publication number Publication date
CN114556880A (en) 2022-05-27
WO2021023614A1 (en) 2021-02-11
US20220407797A1 (en) 2022-12-22
US11799759B2 (en) 2023-10-24
CN114556880B (en) 2024-10-18
DE102019211843A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
EP3480672B1 (en) Method for identifying and indicating operator access to process objects and operator system
DE10210675B4 (en) Controls, expansion plates and communication units
WO2016074730A1 (en) Method for planning the production of a product and production module having self-description information
EP2142460B1 (en) Method for setting up a number of operating units in a lift system having a number of floors
DE112017001723T5 (en) ENABLE AUTOMATIC SENSOR RECOGNITION IN AUTONOMOUS DEVICES
DE102010063164A1 (en) Method for integrating at least one field device in a network of automation technology
EP3598255B1 (en) Arrangement with operator servers and with operator clients
EP3699704A1 (en) System and method for validating system requirements of cyber-physical systems
WO2021023614A1 (en) Communication with automatable industrial devices or systems or with the controller thereof
EP3715986B1 (en) Method for automatic configuration of an automation device, automation device, network, computer program and computer readable medium
DE102010006093A1 (en) Method for building or updating routing tables for a modular conveyor system and modular conveyor system
EP3652595B1 (en) Method and system for monitoring an automation system
EP2110725B1 (en) System and method for allocating a device name
EP3616011A1 (en) Arrangement, fieldbus access unit, and method for monitoring an automation technology system
EP3552063B1 (en) Method for automatically configuring functional units of an automation system
DE102011085755B4 (en) Method for operating an automation device for accessing a documentation storage
DE102018116488A1 (en) Process for the interim storage of bodies as well as production plant
DE102022120529B4 (en) Method and device for operating a large number of IO-Link devices using an IO-Link master
EP2958300B1 (en) Method and device for ensuring and optimizing the exchange of data in mobile M2M communication with limited connectivity
EP2050255B1 (en) Method for locating a communication subscriber, use of a method of this type, and operating device with an implementation of the method
DE102022002106A1 (en) Method for operating a technical installation and technical installation
DE102017006644A1 (en) System for driving at least one vehicle in a semi-automatic or autonomous driving mode
EP3236637B1 (en) Communication over a wide area network by means of an application-specific protocol
WO2022043412A1 (en) Method for transferring subscription data and network device
WO2024223333A1 (en) Goods logistics system and method for operating a goods logistics system

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220221

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230528

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS