EP-4595405-B1 - METHOD AND SYSTEM FOR TRANSMITTING TIME-CRITICAL DATA WITHIN A COMMUNICATION NETWORK
Inventors
- ALBRECHT, HARALD
- Höme, Stephan
Dates
- Publication Date
- 20260513
- Application Date
- 20230915
Claims (15)
- Method for the transmission of time-critical data within a communication network, wherein - the time-critical data is transmitted from and/or to control applications that are each provided by means of at least one flow control component (131-133) that can be loaded into a flow control environment (112) installed on a host (100) and can be executed there, wherein a virtual network adapter (121-123) is assigned to each of the flow control components, - dynamic transmit/receive queues (101-103) of at least one physical network adapter (110) of the host are dynamically assigned by a queue control unit (120) to the virtual network adapters, - in order to reserve resources for sending and/or receiving time-critical data streams comprising time-critical data, the flow control components send, in each case, a reservation order (11) to a reservation module (130) assigned to the flow control environment, - on the basis of the quality-of-service requirements assigned to the flow control components, in each case, the reservation module sends a reservation request (12a) or reservation confirmation (12b) to the communication devices (201-203) forwarding the respective data stream or to a higher-level control unit (210) of the communication network (200) for reserving the resources, - the reservation module causes the queue control unit to grant the virtual network adapter of the respective flow control component access to the transmit/receive queues of the physical network adapter, according to a priority assigned to the quality-of-service requirements, - communication devices and/or control applications sending data streams, each send, for notification of subscribable data streams, first datagrams (12a, 20a) comprising a data stream identifier and specify in the first datagrams quality-of-service parameters characterising quality-of-service requirements for the respective data stream, - for reserving resources to be provided by forwarding communication devices (201-203) for a transmission of the data streams, communication devices and/or control applications receiving data streams each send second datagrams (12b, 20b) and therein specify the respective data stream identifier, - the forwarding communication devices each reserve resources, given sufficient availability, on the first and second datagrams for transmitting the data streams according to the specified quality-of-service parameters, wherein the availability is checked by the higher-level control unit (210) of the communication network (200) and/or the forwarding communication devices (201-203).
- Method according to claim 1, wherein the flow control components (131-133) operate within the flow control environment (112) isolated from one another and collectively use an operating system kernel (111) of the host (100), wherein the virtual network adapters (121-123) are each assigned by the queue control unit (120) to the flow control components within the flow control environment and wherein the resources for transmitting the data streams are reserved, given sufficient availability, in the respective forwarding communication devices (201-203).
- Method according to claim 2, wherein the flow control components are software containers, WebAssembly or Java bytecode and wherein the flow control environment is a container runtime environment, a WebAssembly runtime environment or a Java virtual machine.
- Method according to one of claims 1 to 3, wherein the quality-of-service requirements are assigned to the flow control components on the basis, in each case, of a classification of their respective real-time requirements and wherein the classification of the runtime control components takes place on the basis of a classification guideline.
- Method according to one of claims 1 to 4, wherein the reservation module sends the reservation requests or confirmations, in each case, according to a reservation protocol selected for the respective flow control component, to the forwarding communication devices or the higher-level control unit of the communication network.
- Method according to claim 5, wherein the reservation module selects the reservation protocol on the basis of information provided by a forwarding communication device to which the host is connected, in particular in accordance with IEEE 802.1Q, and/or on the basis of information provided by the higher-level control unit of the communication network.
- Method according to one of claims 1 to 6, wherein, upon granting of the access to the transmit/receive queues (101-103) of the physical network adapter (110), the queue control unit (120) activates host-internal hardware and/or software interfaces (501-503) between the respective virtual network adapter (121-123) and at least one selected transmit/receive queue (101-103) and wherein, upon granting of the access to the transmit/receive queues, the queue control unit reserves available transmit/receive queues and hardware and/or software interfaces for the flow control components for transmitting the data streams.
- Method according to claim 7, wherein the queue control unit configures the physical network adapter so that reserved transmit/receive queues are available to the assigned virtual network adapters of the flow control components with the priority assigned to each respective flow control component.
- Method according to claim 8, wherein the queue control unit (120) notifies the reservation module (130), following a successful configuration of the physical network adapter (110), in each case, of the network adapters (121-123) and the transmit/receive queues (101-103) to be used for the transmission of the data streams, wherein the reservation module sends this information (17) as confirmation of the reservation order (11) to the respective flow control component (131-133), wherein, on the basis of the information included by the confirmation of its respective reservation order, each flow control component sets up a data stream access point, in particular as a socket, and wherein the flow control components send and/or receive the data streams in a targeted manner via the virtual network adapters and transmit/receive queues that are to be used.
- Method according to one of claims 1 to 9, wherein the virtual network adapters (121-123) are assigned as needed by the queue control unit (120) to the flow control components (131-133) for transmitting and/or receiving the data streams and are each connected to a functional unit (301-303) for implementing a network protocol stack of the respective flow control components.
- Method according to one of claims 1 to 10, wherein only following a successful reservation does the reservation module cause the queue control unit to grant the virtual network adapter of the respective flow control component access to the transmit/receive queues of the physical network adapter.
- Method according to one of claims 1 to 11, wherein the resources for transmitting the data streams comprise usable transfer time windows, bandwidth, assured maximum latency, queue count, queue cache and/or address cache in switches or bridges.
- Method according to claim 12, wherein a forwarding of the data streams within the communication network is controlled by means of frame preemption, in particular in accordance with IEEE 802.1Q, by means of time-aware shapers, in particular in accordance with IEEE 802.1Q, by means of credit-based shapers, in particular in accordance with IEEE 802.1Q, by means of burst limiting shapers, by means of peristaltic shapers and/or by means of priority-based shapers.
- System for carrying out a method according to one of claims 1 to 13, having - a flow control environment (112) installed on a host (100), - at least one flow control component (131-133) for providing a control application, wherein the flow control component can be loaded into the flow control environment (112) and can be executed there, - a queue control unit (120), - a reservation module (130) assigned to the flow control environment, - wherein the system is configured so that time-critical data is transmitted from and/or to the control application and so that at least one virtual network adapter (121-123) is assigned to the flow control component, - wherein the queue control unit is configured to assign transmit/receive queues (101-103) of at least one physical network adapter (110) of the host dynamically to virtual network adapters, - wherein the flow control component is configured, in order to reserve resources for sending and/or receiving data streams comprising time-critical data, to send a reservation order (11) to the reservation module, - wherein on the basis of the quality-of-service requirements assigned to flow control components, in each case, the reservation module is configured to send a reservation request (12a) or reservation confirmation (12b) to the communication devices (201-203) forwarding the respective data stream or to a higher-level control unit (210) of a communication network (200) for reserving the resources, - wherein the reservation module is further configured to cause the queue control unit to grant the virtual network adapter of the respective flow control component access to the transmit/receive queues of the physical network adapter, according to a priority assigned to the quality-of-service requirements - wherein communication devices and/or control applications sending data streams are configured to each send, for notification of subscribable data streams, first datagrams (12a, 20a) comprising a data stream identifier and to specify, in the first datagrams, quality-of-service parameters characterising quality-of-service requirements for the respective data stream, - wherein, for reserving resources to be provided by forwarding communication devices (201-203) for a transmission of the data streams, communication devices and/or control applications receiving data streams are configured to each send second datagrams (12b, 20b) and therein specify the respective data stream identifier, - wherein the forwarding communication devices are configured to each reserve resources, given sufficient availability, on the first and second datagrams for transmitting the data streams according to the specified quality-of-service parameters, wherein the availability is checked by the higher-level control unit (210) of the communication network (200) and/or the forwarding communication devices (201-203).
- System according to claim 14, wherein the system comprises a communication network (200) having a plurality of communication devices (201-203, 221-222), wherein the flow control components (131-133) are configured to operate within the flow control environment (112) isolated from one another and collectively to use an operating system kernel (111) of the host (110), wherein the queue control unit (120) is configured to assign the virtual network adapters (121-123) to the flow control components, in each case, within the flow control environment and wherein the communication network is configured to reserve the resources for transmitting the data streams, given sufficient availability, in the respective forwarding communication devices (201-203).
Description
The present invention relates to a method for transmitting time-critical data within a communication network, in particular within a communication network of an industrial automation system, and to a system, in particular a host, for carrying out this method. Industrial automation systems typically comprise a multitude of automation devices interconnected via an industrial communication network and serve to control or regulate plants, machines, or equipment within the context of manufacturing or process automation. Due to time-critical conditions in industrial automation systems, real-time communication protocols such as PROFINET, PROFIBUS, Real-Time Ethernet, or Time-Sensitive Networking (TSN) are predominantly used for communication between automation devices. In particular, control services or applications can be automatically and load-dependently distributed across currently available servers or virtual machines within an industrial automation system. WO 2022/042905 A1 This concerns a method for providing time-critical services, each of which is assigned at least one server component. This server component is formed by a control flow component that can be loaded into and executed within a control flow environment. For each server component, a functional unit for processing a communication protocol stack is made available, which is associated with a functional unit assigned to the control flow environment. The services are connected to a communication protocol stack for processing. Each service includes a directory service component for discovering services provided by the control flow environment. The directory service components are interconnected via a separate communication interface. An aggregator component, formed by another control flow component, is connected to this separate communication interface and makes information about the services provided by the server components available outside the control flow environment. In EP 3 975 502 A1 This describes a method for providing time-critical services using a process control environment, in which at least one server component is provided for each service. This server component is formed by a process control component that can be loaded into and executed within the process control environment. A configuration unit for at least one gateway component of a subnet encompassing the process control environment determines globally valid access information for each server component, corresponding to the addressing information valid within the subnet. Depending on an operating mode specified by the configuration unit, one or more gateway components connected in parallel or serially are used. The gateway component forwards service access requests to the server components according to forwarding or filtering rules that reflect the access information and the operating mode. From the older European patent application with application number 22177736.0 A method for providing control applications using sequence control components for control applications is known, the execution of which is selected Privileges are required. For this purpose, a specification of the necessary safety-critical resources is created. Based on these specifications, an additional process control component is identified, which is intended to provide access to the required safety-critical resources. Accordingly, the execution of the respective process control component is started together with the additional process control component. A process control environment establishes an interface for interprocess communication between the respective process control component and the additional process control component. Access to the required safety-critical resources is provided via interprocess communication between the respective process control component and the additional process control component. US 2022/263770 A1 This concerns a method for transmitting time-critical data within a communication network, in which the time-critical data is transmitted to and from control applications, each provided by a container. To reserve resources for sending and receiving data streams containing time-critical data, the containers each send a reservation request to a reservation module assigned to a hypervisor. Due to the increasingly flexible functional design of industrial automation devices, loadable control applications are being used more frequently in these devices. These control applications can be made available, for example, via container virtualization. Industrial automation systems typically have high requirements regarding deterministic control. Communication with defined quality-of-service characteristics on the one hand and with regard to low-effort integration of industrial control applications on the other. Existing standards for time-sensitive networks (TSNs) provide little support for control applications implemented using container virtualization. While IEC 60802 defines an "Industrial