Coordination Device and Method for Providing Control Applications via a Communication Network for Transmitting Time-Critical Data
20220137604 · 2022-05-05
Inventors
- Harald ALBRECHT (Nümberg, DE)
- Stephan Höme (Schwabach, DE)
- Martin RZIHA (Zirndorf, DE)
- Thomas Talanis (Heroldsbach, DE)
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L41/0895
ELECTRICITY
Y02D30/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L47/726
ELECTRICITY
International classification
Abstract
Coordinator and method for providing control applications via a communication network, wherein prior to migrating a flow control component of a control application to a server device, a coordinator checks whether a data stream for transmitting application data was set up for the control application, where the coordinator enables migration of the flow control component if a data stream has not been set up, in the event a data stream had been set up previously, a check is performed to determine whether sufficient resources for data transmission are available for paths to the server device, such that if sufficient resources are unavailable, migration of the respective flow control component is stopped, and if sufficient resources are available, the coordinator prompts set-up of the data stream to the server device and disconnection of the previously set-up data stream and enables migration of the flow control component to the server device.
Claims
1.-15. (canceled)
16. A method for providing control applications via a communication network for transmitting time-critical data, the control applications being provided by server devices via the communication network for use on terminals, the control applications each being provided via flow control components which are loadable into and executable in flow control environments formed via the server devices, the flow control components each being migratable to different server devices for execution therein, the method comprising: assigning selected datagrams to data streams and transmitting said selected datagrams between the server devices and the terminals via paths of the communication network which comprise at least the server devices and the terminals; specifying, by at least one of the server devices and the terminals, quality of service parameters for the data streams to reserve resources which need to be provided by forwarding communication devices along the paths for a transmission of the data streams; performing, by at least one of (i) each one of the forwarding communication devices and (ii) a superordinate communication control device a check to determine whether sufficient resources for data transmission while maintaining the specified quality of service parameters are available in the respective forwarding communication device in an event of a reservation request; configuring each of the forwarding communication devices to provide resources for the data streams if sufficient resources are available along the paths; performing, by a coordination device, a check to determine whether a data stream for transmitting application data has previously been set up for the respective control application before migrating a flow control component of a control application to a respective selected server device; approving, by the coordination device, the migration of the respective flow control component, if the data stream has not been set up; performing, by the coordination device, a check to determine whether sufficient resources for data transmission while maintaining the specified quality of service parameters are available for paths to the selected server device, if the data stream has previously been set up; preventing, by the coordination device, the migration of the respective flow control component if sufficient resources are not available; and prompting, by the coordination device; setup of the data stream to the selected server device and clearance of the previously set-up data stream and approving the migration of the respective flow control component to the selected server device if sufficient resources are available.
17. The method as claimed in claim 16, wherein the resources to be provided by the forwarding communication devices comprise at least one of usable transfer time windows, bandwidth, assured maximum latency, number of queues, queue cache and address cache in switches or bridges.
18. The method as claimed in claim 16, wherein the forwarding communication devices are interconnected via a time-sensitive network.
19. The method as claimed in claim 16, wherein the time-sensitive network is in accordance with at least one of Institute of Electrical and Electronics Engineers (IEEE) 802.1Q, IEEE 802.1AB, IEEE 802.1AS, IEEE 802.1BA and IEEE 802.1CB.
20. The method as claimed in claim 17, wherein the forwarding communication devices are interconnected via a time-sensitive network.
21. The method as claimed in claim 20, wherein the a time-sensitive network is in accordance with at least one of Institute of Electrical and Electronics Engineers (IEEE) 802.1Q, IEEE 802.1AB, IEEE 802.1AS, IEEE 802.1BA and IEEE 802.1CB.
22. The method as claimed in claim 18, wherein forwarding of the selected datagrams is controlled via at least one of frame pre-emption, time-aware shapers, in particular in accordance with IEEE 802.1Qbv, credit-based shapers, burst limiting shapers, peristaltic shapers and priority-based shapers.
23. The method as claimed in claim 22, wherein pre-emption is in accordance with Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbu, time-aware shapers is in accordance with IEEE 802.1Qbv and credit-based shapers is in accordance with IEEE 802.1Qav.
24. The method as claimed in claim 16, wherein reservation requests result in the data streams being each set up bidirectionally; and wherein the terminals comprise at least one of communication and automation devices.
25. The method as claimed in claim 16, wherein at least one of the server devices and the terminals each specify a data stream identifier for a reservation request; and wherein a multicast address allocated to each specified data stream identifier is transmitted to at least one of a respective server device and a respective terminal if sufficient resources are available.
26. The method as claimed in claim 25, wherein at least one of the server devices and the terminals each specify the quality of service parameters for the data streams via a talker advertise message; and wherein at least one of the server devices and the terminals each specify the data stream identifiers via a listener ready message.
27. The method as claimed in claim 25, wherein the server devices each have at least one of an assigned talker and listener function.
28. The method as claimed in claim 26, wherein the server devices each have at least one of an assigned talker and listener function.
29. The method as claimed in claim 25, wherein the reservation requests are handled in accordance with Institute of Electrical and Electronics Engineers (IEEE) 802.1Qcc.
30. The method as claimed in claim 16, wherein the paths for the data streams are ascertained via shortest path bridging in accordance with Institute of Electrical and Electronics Engineers (IEEE) 802.1aq.
31. The method as claimed in claim 16, wherein the forwarding communication devices exchange topology information among one another to ascertain paths.
32. The method as claimed in claim 31, wherein the topology information is exchanged in accordance with the Intermediate System-Intermediate System (IS-IS) protocol.
33. The method as claimed in claim 16, wherein the flow control environments are each formed via a hypervisor installed on a server device; wherein each migration of a flow control component of a control application is initiated by a load balancing device; and wherein the paths for the data streams comprise virtual switches.
34. The method as claimed in claim 16, wherein the coordination device performs the setup of the data stream and the clearance of the previously set-up data stream to the selected server device for purposes of the migration, if sufficient resources are available.
35. The method as claimed in claim 16, wherein, for the purposes of a migration, the coordination device notifies the respective control application accordingly if sufficient resources are available; and wherein the respective control application performs the setup of the data stream to the selected server device and the clearance of the previously set-up data stream.
36. A coordination device, comprising: a processor; and memory; wherein the coordination device is configured to: check, before a flow control component of a control application is migrated to a respective selected server device, whether a data stream for transmitting application data has previously been set up for a respective control application; approve the migration of the respective flow control component if a data stream has not been set up; check whether sufficient resources for data transmission while maintaining previously specified quality of service parameters are available for paths to the selected server device if the data stream has previously been set up; prevent the migration of the respective flow control component if sufficient resources are not available; and prompt setup of the data stream to the selected server device and clearance of the previously set-up data stream and approve the migration of the respective flow control component to the selected server device if sufficient resources are available.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The present invention is explained in more detail below using an exemplary embodiment with reference to the drawing, in which:
[0028]
[0029]
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
[0030] The industrial automation system depicted in
[0031] Programmable logic controllers 201 typically each comprise a communication module, a central processing unit and at least one input/output unit. Input/output units can essentially also be configured as local peripheral modules that are arranged remotely from a programmable logic controller. The communication module can be used to connect a programmable logic controller 201 to a switch or router or additionally to a field bus. The input/output unit is used for exchanging controlled and measured variables between the programmable logic controller 201 and a machine or apparatus 210 controlled by the programmable logic controller 201. The central processing unit is particularly intended for ascertaining suitable controlled variables from captured measured variables. The above components of the programmable logic controller 201 are connected to one another via a backplane bus system, for example.
[0032] The I/O modules 204-205 are also intended to exchange controlled and measured variables with connected machines or apparatuses 240, 250. To control the I/O modules 204-205 there is provision for one assigned I/O controller 203 per automation cell, for example. The I/O modules 204-205 can essentially also be actuated by a remote programmable logic controller 201.
[0033] An operating and observation station 202 is used for visually displaying process data or measured and controlled variables that are processed or captured by programmable logic controllers, input/output units or sensors. In particular, an operating and observation station 202 is used for displaying values of a control loop and for altering control parameters. Operating and observation stations 202 comprise at least a graphical user interface, an input device, a processor unit and a communication module.
[0034] Furthermore, the industrial automation system depicted in
[0035] The control applications are preferably used to make monitoring, control or analysis functions available for the communication and automation devices 201, 202, 203, 204, 205.
[0036] The control applications are each provided via flow control components that are loadable into and executable in flow control environments formed via the virtual machines 412-413, 416-417, 422-423, 426-427. The flow control environments are preferably each formed via a hypervisor installed on a server 410-411, 420-421. The flow control components can therefore each be migrated to different servers for execution therein. A migration of a flow control component of a control application is initiated by a load balancing device 403, for example, which can be either realized as a separate unit or integrated in a server cluster 401, 402.
[0037] For the purposes of transmitting time-critical data assigned to the virtualized control applications, selected data frames (frames) 300 are assigned to data streams and transmitted between the virtual machines 412-413, 416-417, 422-423, 426-427 and the communication and automation devices 201, 202, 203, 204, 205 via paths of the communication network that comprise at least the virtual machines 412-413, 416-417, 422-423, 426-427 and the communication and automation devices 201-205. These paths can be ascertained via shortest path bridging in accordance with IEEE 802.1aq and can particularly comprise the virtual switches 414-415, 418-419, 424-425, 428-429.
[0038] Preferably, the bridges or switches 100 exchange topology information among one another in accordance with the IS-IS (intermediate system to intermediate system) protocol for the purpose of ascertaining paths.
[0039] In order to reserve resources that need to be provided by the bridges or switches 100 along the paths for the transmission of the data streams, the virtual machines 412-413, 416-417, 422-423, 426-427 and/or the communication and automation devices 201, 202, 203, 204, 205 specify quality of service parameters for the data streams. In accordance with a local stream reservation model, the bridges or switches 100 each check whether sufficient resources for data transmission while maintaining the specified quality of service parameters are available in the respective forwarding communication device. Alternatively, a check on an availability of sufficient resources can be performed in accordance with a central stream reservation model by a superordinate communication control device.
[0040] If there are sufficient resources along the paths, then the bridges or switches 100 are each configured to provide resources for the data streams, either in accordance with a local stream reservation model or in accordance with a central stream reservation model. The resources to be provided by the bridges or switches 100 particularly comprise usable transfer time windows, bandwidth, assured maximum latency, number of queues, queue cache and/or address cache in the bridges or switches. Preferably, reservation requests result in the data streams being each set up bidirectionally.
[0041] In the present exemplary embodiment, the load balancing device 403 initiates a migration of a control application from a server 411 used hitherto to a selected different server 420 by transmitting a request 430 to a coordination device 404, in accordance with step 501 of the flowchart depicted in
[0042] If a data stream has not been set up, then the coordination device 404 approves the migration of the respective flow control component in accordance with step 506 and transmits an acknowledgement 440 with an approval to the load balancing device 403. The load balancing device 403 subsequently migrates the flow control component of the control application to the selected server 420 (step 507).
[0043] If a data stream has previously been set up, the coordination device 404 checks, in accordance with step 503, whether sufficient resources for data transmission while maintaining the specified quality of service (QoS) parameters are available for paths to the selected server device 420. If sufficient resources are not available, then the coordination device 404 prevents the migration of the respective flow control component (step 505) and transmits an acknowledgement 440 with a rejection of the migration to the load balancing device 403. On the other hand, if there are sufficient resources, then the coordination device prompts setup of a data stream to the selected server 420 and clearance of the previously set-up data stream in accordance with step 504.
[0044] For the purposes of a migration, the coordination device 404 can itself in principle perform the setup of the data stream to the selected server 420 and the clearance of the previously set-up data stream, if there are sufficient resources. Alternatively, for the purposes of a migration, the coordination device can notify the respective control application accordingly if there are sufficient resources so that the respective control application performs the setup of the data stream to the selected server 420 and the clearance of the previously set-up data stream. Following successful setup of the data stream to the selected server 420, the coordination device 404 approves the migration of the respective flow control component in accordance with step 506 and transmits an acknowledgement 440 with an approval to the load balancing device 403. The load balancing device 403 subsequently migrates the flow control component of the control application to the selected server 420 (step 507).
[0045] In the present exemplary embodiment, the reservation requests are handled in accordance with IEEE 802.1Qcc. The virtual machines 412-413, 416-417, 422-423, 426-427 can each have an assigned talker or listener function. In particular, the virtual machines 412-413, 416-417, 422-423, 426-427 or the communication and automation devices 201, 202, 203, 204, 205 each specify a data stream identifier for a reservation request. If there are sufficient resources, then a multicast address allocated to the specified data stream identifier is, in each case, transmitted to a respective virtual machine 412-413, 416-417, 422-423, 426-427 or to a respective communication and automation device 201, 202, 203, 204, 205. Preferably, the virtual machines 412-413, 416-417, 422-423, 426-427 or the communication and automation devices 201, 202, 203, 204, 205 each specify the quality of service parameters for the data streams via a talker advertise message. Accordingly, the data stream identifiers are each specified via a listener ready message.
[0046] Thus, while there have been shown, described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.