Method and gateway device for transmitting datagrams via two or more networks

By using filters and datagram identifiers in gateway devices to allocate datagrams to different priority queues and utilizing cellular networks and local area networks for transmission, the problems of communication interruption and excessive bandwidth demand in industrial automation systems are solved, thereby improving the reliability and efficiency of the system.

CN114375586BActive Publication Date: 2026-03-31SIEMENS AG
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-07
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In industrial automation systems, system failures and production stoppages are caused by communication connection interruptions and incomplete message transmissions, especially when using 5G networks to transmit time-critical and non-time-critical industrial data, where bandwidth requirements are excessive and efficiency is low.

Method used

Datagrams are allocated to different priority queues through gateway devices. High-priority and normal-priority datagrams are transmitted using cellular networks and local area networks respectively. Filters and datagram identifiers are used to distinguish them, and datagram identifiers are generated based on network service quality requirements to indicate priority.

Benefits of technology

It improves the communication efficiency and reliability of industrial automation systems, reduces system failures, optimizes bandwidth usage, and ensures the timely transmission of time-critical data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114375586B_ABST
    Figure CN114375586B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method for transmitting a plurality of data packets by a gateway device having a plurality of network interfaces. The method includes determining, based on a filter and a data packet identifier of a first data packet from the plurality of data packets, a first priority queue from a plurality of priority queues for transmitting the first data packet, and placing the first data packet in the determined first priority queue for transmitting the first data packet through a first network interface associated with the determined first priority queue. The data packet identifier of the first data packet is generated by a control device based on a quality of service (QoS) requirement associated with a process application associated with the first data packet.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to data communication in industrial facilities. Industrial facilities contain multiple devices, such as field devices, control devices, enterprise servers, etc., which typically communicate with each other and with other remote systems. This communication is typically achieved by gateway devices placed within the industrial facility. Background Technology

[0002] Industrial automation systems are designed to monitor and control technological processes, particularly for factory, process, or building automation, and to provide autonomous and largely independent operation of control devices, sensors, machines, and industrial plants. Typically, an industrial automation system comprises multiple automated devices interconnected via industrial communication networks. As the impact of information technology on industrial automation systems continues to grow, methods for reliably providing monitoring and control functions within these systems are becoming increasingly important. A particular challenge encountered in industrial automation systems often arises from the large volume of relatively short message flows.

[0003] Typically, interruptions in communication connections can lead to undesirable message duplication. Furthermore, this often results in additional loads on the communication connection, which can further cause obstacles or system failures. If messages are not transmitted at all or are not fully transmitted, it can prevent industrial automation systems from transitioning to or remaining in a safe operating state. Ultimately, this can lead to costly downtime for the entire production system. Attached Figure Description

[0004] The following detailed description refers to the accompanying drawings, in which:

[0005] Figure 1 An exemplary industrial system with multiple industrial devices (e.g., field and control devices) is shown;

[0006] Figure 2 An exemplary method for transmitting multiple datagrams via two or more networks is shown;

[0007] Figure 3 An exemplary gateway device is shown for transmitting multiple datagrams via two or more networks;

[0008] Figure 4 An exemplary filter is shown for resolving identifiers into priority queues;

[0009] Figure 5 An exemplary section of an industrial facility is shown, comprising three robotic devices mounted on an automated guided vehicle; and

[0010] Figure 6 An exemplary network controller is shown for generating filters for gateway devices in industrial systems. Summary of the Invention

[0011] This disclosure relates to data communication in industrial facilities. Traditional wireless industrial gateways rely on Industrial Wireless Local Area Networks (also known as IWLANs) for data communication. With the advent of fifth-generation cellular networks (also known as 5G networks), machine-to-machine communication between industrial devices, especially machine-to-machine communication concerning real-time communication, can be achieved via 5G networks. However, due to the large bandwidth required for industrial communication, using 5G networks to transmit all industrial communication may not be optimal. In particular, transmitting time-critical and non-time-critical industrial data via 5G networks may not be optimal.

[0012] To address this problem, various approaches have been explored. One such approach focuses on the use of integrated WLAN and LTE network devices. Further improvements can be made to the implementation of integrated WLAN and LTE network devices in industrial network scenarios. In particular, there is a need for devices capable of prioritizing datagrams in industrial environments. Therefore, this disclosure describes methods and devices for addressing the aforementioned problems.

[0013] Therefore, in a first aspect, this disclosure describes a method for transmitting multiple datagrams by a gateway device over two or more networks. The gateway device receives datagrams from control devices (i.e., controllers and other industrial equipment) and then forwards the datagrams to other systems or devices associated with the industrial facility, and vice versa. The gateway device includes multiple network interfaces. Each network interface is connected to one of the two or more networks. In one example, the two or more networks include a cellular network and a local area network (LAN). Thus, the multiple interfaces include a network interface connected to a cellular network and another network interface connected to a LAN (e.g., an industrial wireless LAN). Each datagram from the multiple datagrams is generated by the industrial or control device and contains a datagram identifier and a datagram payload. The datagram payload contains data related to processes in the industrial plant.

[0014] The method includes: determining a first priority queue from a plurality of priority queues for transmitting a first datagram among a plurality of datagrams, based on a filter and a datagram identifier of a first datagram. Each priority queue in the plurality of priority queues is associated with a corresponding network interface among a plurality of network interfaces of a gateway device. After the determination step, the method further includes: placing the first datagram in the determined first priority queue for transmission by a first network interface associated with the determined first priority queue. The datagram identifier of the first datagram is generated by a control device based on associated network quality of service (QoS) requirements applied in connection with the process associated with the first datagram.

[0015] In one example, the datagram identifier of the first datagram is generated by the control device according to a first communication protocol, wherein the control device is configured to communicate via two or more communication protocols, including a first industrial protocol. This allows for easy implementation of prioritization schemes without significant modifications to the communication scheme.

[0016] In one example, the filter comprises multiple bitmasks. Each bitmask is associated with a corresponding priority queue from multiple priority queues. Therefore, determining the first priority queue involves identifying the first bitmask from the multiple bitmasks in the filter if the result of a binary operation on the datagram identifier and the first bitmask equals a pre-configured value, and wherein the first bitmask is associated with a first priority queue. In one example, the binary operation is a bitwise operation, such as a bitwise AND operation, a bitwise XOR operation, etc. In one example, the filter is generated by the network controller based on the network topology of the industrial facility and engineering data including network QoS requirements associated with multiple process applications.

[0017] In one example, the control device is a process controller connected to one or more field devices, including at least one of actuators and sensors, and wherein the network quality of service (QoS) requirements include the loop cycle time of the control loop associated with the process controller. In another example, the control device is an operator device, and the process application is an augmented reality application.

[0018] In a second aspect, this disclosure describes a method for transmitting datagrams by a control device. The method includes generating a first datagram to be transmitted, wherein the first datagram is associated with a process application in an industrial plant; generating a datagram identifier for the first datagram based on a Quality of Service (QoS) requirement associated with the process application, wherein the generated datagram identifier indicates the priority of the first datagram; and transmitting the first datagram to a gateway device connected to the control system, wherein the gateway device includes multiple network interfaces connected to two or more networks. The gateway device uses the datagram identifier of the first datagram to identify the network interface used to transmit the first datagram. In one example, the step of generating the first datagram includes identifying a first industrial communication protocol from two or more industrial communication protocols (also referred to as communication protocols) based on the QoS requirement associated with the process application.

[0019] In a third aspect, this disclosure describes a gateway device for sending and receiving multiple datagrams. The gateway device includes two or more network interfaces, including a first network interface connected to a first network and a second network interface connected to a second network, multiple priority queues, each priority queue for storing one or more datagrams and associated with one of the first and second network interfaces, and a datagram classification module connected to a content address memory module. The datagram classification module is configured to determine a first priority queue for transmitting the first datagram from the multiple priority queues based on a datagram identifier and a filter of the first datagram, and to place the first datagram in the determined first priority queue for transmission through the network interface associated with the determined first priority queue.

[0020] In one example, the content address memory module is a ternary content address memory module used by the datagram classification module to determine the first priority queue. This allows for fast (single-cycle) resolution of identifiers for queue determination.

[0021] In a fourth aspect, this disclosure describes a non-transitory storage medium for transmitting multiple datagrams. The non-transitory storage medium contains multiple machine-readable instructions stored therein, which, when executed by a processing unit, cause the processing unit to determine a first priority queue from a plurality of priority queues for transmission of the first datagram based on a datagram identifier of a first datagram from the plurality of datagrams, and to place the first datagram in the determined first priority queue for transmission via a network interface associated with the determined first priority queue. These aspects are further described and explained with reference to the accompanying drawings. Detailed Implementation

[0022] Figure 1An industrial system 100 is shown in an industrial facility. An industrial facility, as defined herein, refers to any environment in which one or more industrial processes, such as manufacturing, refining, smelting, and equipment assembly, can be performed, and includes processing plants, oil refineries, automobile factories, etc. Industrial system 100 includes multiple control devices, such as process controllers (shown as gateway device 110 and process controller 120 in the figure), programmable logic controllers, supervisory controllers, robots (shown as mobile robot 141 in the figure), operating devices (shown as operator station 151 in the figure), etc. The process controllers are connected to multiple field devices (not shown in the figure), such as actuators and sensor devices for monitoring and controlling the industrial processes in the industrial facility. These field devices may include flow meters, valve actuators, temperature sensors, pressure sensors, etc. The process controllers may be interconnected via a control network. Additionally, industrial system 100 includes mobile robot 141 for performing multiple operations in the industrial plant, such as welding, component assembly, material transport and handling, etc. Furthermore, industrial system 100 may include operator station 151 for displaying the status of the industrial plant to operators and for allowing operators to define KPIs for controlling the industrial processes in the facility.

[0023] Communication within an industrial facility can occur via an industrial gateway device (also known as a gateway device). Multiple control devices within the facility are connected to one or more industrial gateway devices (shown in the figure as exemplary gateway device 110) for transmitting information with other devices and systems within the industrial facility. Gateway device 110 is connected to two or more networks via first and second network interfaces and is capable of transmitting data over two or more networks. For example, gateway device 110 is connected to a cellular network via a first network interface (shown via a connection to cell tower 160) and to an industrial wireless local area network (shown via a connection to wireless local area network device 170) via a second network interface.

[0024] like Figure 1As shown, gateway device 110 is connected to process controllers (121 and 131), mobile robot 141, and operator station 151 (collectively referred to as connected devices). Gateway device 110 receives data (datagrams, data frames, data packets) and sends them to process controllers (121 and 131), mobile robot 141, and operator station 151. Since the gateway device includes two network interfaces, data transmission from the connected devices is completed through one of the two network interfaces based on the datagram identifier received from the connected devices. Based on the network characteristics associated with the two networks to which gateway device 110 is connected, one network interface is used to transmit datagrams with high priority, while the other network interface is used to transmit datagrams with normal priority. For example, the first network interface connected to a cellular network (5G network) is used to transmit datagrams with high priority, while the second network interface connected to an industrial wireless LAN is used to transmit datagrams with normal priority. The network interface is parsed based on the datagram identifier to be transmitted. This is done in... Figure 2 The description explains this.

[0025] Figure 2 A method 200 for transmitting multiple datagrams by a gateway device 110 is illustrated. The multiple datagrams are generated by one or more connected devices. Each datagram from the multiple datagrams includes a datagram identifier and a datagram payload. The datagram identifier is generated by the connected control device based on network quality of service (QoS) requirements associated with a process application to which the datagram is associated. The datagram payload is associated with a process in an industrial plant and relates to a corresponding control device. For example, a datagram from process controller 121 may have an exemplary payload containing process values ​​of the process regulated by process controller 121. The gateway receives the multiple datagrams from the connected devices and is responsible for transmitting them.

[0026] As mentioned earlier, a gateway device includes two or more network interfaces and connects to two or more networks via these interfaces. In one example, the gateway device connects to two or more networks via a first network interface (in...). Figure 3 The network interface (shown as network interface 360) connects to the cellular network (5G network) and via the second network interface (in Figure 3 The network interface (370) is connected to the wireless LAN.

[0027] In addition to the interface, the gateway device also includes multiple priority queues (in Figure 3 The numbers are shown as queues 340, 345, 350, and 355. Figure 4 These are shown as queues 420, 425, 430, and 435. Priority queues (also called queues) are used for prioritizing connections via the first or second network interface (…). Figure 3 The 360 ​​and 370, and Figure 4 Datagrams are stored before being transmitted by either 440 or 445. Each priority queue is associated with a corresponding network interface, and datagrams stored in a specific queue are sent by the corresponding network interface. For example, as... Figure 3 As shown, queues 340 and 345 are associated with network interface 360. Similarly, queues 350 and 355 are associated with network interface 370. Likewise, as... Figure 4 As shown, queue 420 is associated with network interface 440, while queues 425, 430 and 430 are associated with network interface 445.

[0028] In step 210, the gateway device 110 determines a first priority queue from multiple priority queues for transmitting the first datagram among multiple datagrams, based on the filter and the datagram identifier of the first datagram. For example... Figure 3 As shown, the gateway device includes a datagram classification module 330 that receives datagrams and determines a queue in which each datagram will be placed for transmission. The datagram classification module is connected to a content address storage module that stores a filter. This filter includes multiple bitmasks. The filter also includes a mapping between the bitmasks and priority queues. Upon receiving a datagram (e.g., the first datagram), the datagram classification module 330 performs a logical operation between the datagram identifier and each bitmask of the filter. When the logical operation between the datagram identifier and the specific bitmask produces a value equal to a pre-configured value, the datagram classification module 330 identifies the queue associated with the specific bitmask and selects the corresponding queue (as the first priority queue) for transmission of the corresponding datagram. This will refer to... Figure 4 The following example further illustrates this point.

[0029] In this example, a first datagram with datagram identifier '8810' is generated by process controller 121 and sent to gateway device 110 for further transmission. The first datagram is received, preprocessed (by datagram preprocessing module 320), and placed in one of priority queues (420, 425, 430, and 435) for transmission via the network interface. Datagram classification module 330 loads a filter (shown as filter 410 in the figure) from memory 335. Filter 410 includes five bitmasks 411, 413, 416, 419, and 421. Each bitmask consists of '1', '0', and one or more irrelevant bits (in...). Figure 4 It consists of (shown as 'X' in the middle).

[0030] After loading the filter, the datagram classification module 330 performs a bitwise binary 'AND' operation on the datagram identifier '8810' of the first datagram and each bitmask (411, 413, 416, 419, and 421) in filter 410. The bitwise binary 'AND' operation between each of bitmasks 411, 416, 419, and 421 and the datagram identifier '8810' produces a result of 0. The bitwise binary 'AND' operation between bitmask 413 and the datagram identifier '8810' produces a result of 1. For example... Figure 4 As shown, bitmask 413 is mapped to priority queue 425. Therefore, datagram classification module 330 identifies identifier priority queue 425 as a first priority queue for storing the first datagram before transmission.

[0031] In step 220, the datagram classification module 330 of the gateway device 110 places the first datagram into a determined first priority queue for transmission via a first network interface associated with the determined first priority queue. After identifying the first priority queue, the datagram classification module 330 then places the datagram in the identified priority queue. The datagram is then sent through the first network interface associated with the first queue.

[0032] Continuing the example above, after priority queue 425 is designated as the first priority queue, the data classification module places the datagram with datagram identifier '8810' into priority queue 425. Then, the datagram with datagram identifier '8810' is transmitted via network interface 445 through second network 490 from the two or more networks connected to gateway device 110.

[0033] As previously mentioned, the datagram identifier of a datagram is generated by the connected control device based on the Quality of Service (QoS) requirements associated with a process application (also known as the control application) to which the datagram is associated. QoS in this document refers to one or more network attributes, such as transmission delay, availability, bit rate, etc. Based on the requirements associated with the process application, the control device can use an encoding or selection scheme to determine the datagram identifier to indicate the datagram's priority. In doing so, the control device is able to indicate the datagram's priority. In one example, based on the QoS requirements associated with the process application (e.g., transmission delay), the control device selects a communication protocol from multiple communication protocols for datagram transmission. The datagram identifier is then generated according to the selected protocol. Reference Figure 5 The example shown further illustrates this aspect.

[0034] Figure 5An exemplary section of an industrial facility comprising three mobile robot devices 510, 530, and 540 is shown. Mobile robot devices 510 and 530 are wirelessly connected to gateway device 110 and gateway device 560. All three robot devices can communicate using the S7 industrial communication protocol and the PROFINET communication protocol.

[0035] Mobile robot device 540 carries object 550 along a path. While following the path, the control application on mobile robot device 540 sends datagrams containing information about the location and status of mobile robot device 540. Since this operation is not time-sensitive, the control application does not have strict network QoS requirements, and therefore, mobile robot device 540 uses the S7 protocol to send datagrams, and therefore, the datagram identifier has the format '0x8032__'. Therefore, when receiving datagrams from mobile robot device 540, gateway device 560 allocates packets to queues connected to the WLAN network based on the filters described above.

[0036] Mobile robot devices 510 and 530 coordinate with each other to handle object 520. Therefore, for efficient coordination, the control applications on mobile robot devices 510 and 530 exchange datagrams to coordinate the movement of their arms relative to each other. Because this is a time-sensitive operation, the control applications have strict network QoS requirements, and therefore, the mobile robot devices use the PROFINET protocol to send datagrams; thus, the datagram identifier has the format '0x8892__'. Therefore, upon receiving a datagram from mobile robot device 540, gateway device 560 allocates the packet to a queue connected to the 5G network based on the filters described above.

[0037] While the above examples use the choice of industrial communication protocols to illustrate their application, controllers can implement these examples using traffic categories and other such prioritization schemes. For instance, a controller could generate a datagram identifier based on the TSN (Time-Sensitive Networking) traffic category associated with the datagram. In another example, a controller could generate a datagram identifier based on the ISA 100 application class associated with the process application. Yet another example could generate a datagram identifier based on the class associated with the OPC US protocol.

[0038] Figure 3 An exemplary gateway device 300 is shown. As previously described, gateway device 300 is connected to multiple control devices via I / O interface 310. I / O interface 310 may be based on an industrial bus protocol, industrial Ethernet, or industrial wireless protocol. Gateway device 300 receives datagrams from the control devices and forwards them to one of the two or more networks to which gateway device 300 is connected.

[0039] Upon receiving a datagram, it is preprocessed by datagram preprocessing module 320. The preprocessing module checks the validity and integrity of the datagram. After preprocessing, the datagram is stored by datagram classification module 330 on multiple priority queues (shown in the diagram as queues 340, 345, 350, and 355). Each queue is associated with one of two or more network interfaces connected to the corresponding network. For example, as shown... Figure 3 As shown, queues 340 and 345 are connected to network interface 360, and queues 350 and 355 are connected to network interface 370. The datagram classification module 330 places each datagram from multiple datagrams into a specific queue based on the datagram identifier and a filter. The filter is stored on the memory module 335. In one example, the memory module 335 is a TCAM module. Each datagram stored in its corresponding queue is then transmitted through the corresponding network interface on the corresponding network.

[0040] In the event of a network or network interface failure and its unavailability for datagram transmission, the queue associated with the failed network interface is unbound from that interface and associated with the remaining network interfaces. Datagrams in the queues are prioritized for transmission based on the queue in which they are stored. For example, if network interface 360 ​​begins to fail, queues 340 and 345 are assigned to network interface 370. Therefore, between datagrams from queue 340 and datagram 350, datagrams from queue 340 are prioritized for transmission.

[0041] Figure 4An exemplary filter 410 is shown for resolving identifiers into priority queues (420, 425, 430, 435). Filter 410 includes five bitmasks (411, 413, 416, 419, and 421). Each bitmask consists of 1s, 0s, and irrelevant bits (denoted as X) and is mapped to a specific queue among multiple queues. As shown, bitmask 411 is mapped to queue 420, bitmask 416 and 419 are mapped to queue 430, and bitmask 421 is mapped to queue 435. Queues are connected to network interfaces (440 and 445) and store datagrams before they are transmitted via the corresponding network interface through the appropriate network (490 or 480). By performing logical operations between the bitmasks and datagram identifiers, the filter's bitmasks and datagram identifiers are used to resolve the queue where a specific datagram will be stored. The result of the logical operation is compared with a predetermined value. If they are equal, the datagram is stored in the queue associated with the corresponding bitmask. Although a bitmask is shown, other schemes using hexadecimal values ​​can also be used to implement this invention. Furthermore, the mapping between the bitmask and the queue can be changed dynamically. Additionally, new bitmasks can be added to the filter without restarting the gateway device. These aspects are explained further below.

[0042] In one embodiment, the filter is generated by the network controller and sent to a gateway device (e.g., gateway device 110). The network controller connects to multiple gateway devices. When a new control device is detected in the industrial network, the network controller coordinates with the newly connected control device to determine the priority of datagrams from the new connected control device and the corresponding encoding scheme used by the new connected control device. Based on this coordination, the network controller can determine whether the filter in the gateway device needs to be updated. In one example, the new filter can be generated by the network controller and sent to the gateway device via a gateway protocol such as OpenFlow without restarting the gateway device. This will refer to... Figure 6 Further explanation.

[0043] Figure 6 An exemplary network controller 610 is shown for generating filters for gateway devices (620, 630, 640, 650) of an industrial system 100. The gateway devices (620, 630, 640, 650) are connected to two or more networks (in... Figure 6The diagram shows a cellular network via access point 690 and a WLAN network via WLAN device 680. Gateway devices (620, 630, 640, 650) connect to one or more control devices in the industrial system and can send data to and from control devices (such as mobile robot 670 and process controller 660). The gateway devices prioritize and determine the networks to be used for data transmission using the method described above for parsing datagrams into priority queues based on datagram identifiers and filters.

[0044] The filters on each gateway device are generated by the network controller 610. In one example, this is done during the engineering and commissioning of the industrial system based on the industrial communication protocols used for communication. During the engineering phase, multiple industrial communication protocol identifier formats, along with the priorities associated with each industrial communication protocol, are provided to the network controller 610. Based on the identifier formats and the network controller 610, a bitmask for the filter and a mapping between the bitmask and priority queues are generated. This is then sent to the gateway device. When a new control device is added to the industrial network, the network controller 610 coordinates with the newly added control device to check if any new industrial communication protocols are used and whether any new bitmasks need to be generated and added to the filters. In one embodiment, the network controller 610 may negotiate with the newly added control device to determine the priority of the new industrial communication protocol and the network on which the datagrams associated with the new industrial communication protocol should be transmitted.

[0045] This disclosure may take the form of a computer program product comprising program modules accessible from a computer-executable or computer-readable medium storing program code used or in connection with one or more computers, processing units, or instruction execution systems. Therefore, this disclosure describes a non-transitory storage medium for transmitting multiple data packets. The non-transitory storage medium contains machine-readable instructions stored therein, which, when executed by a processing unit of a gateway device, cause the processing unit of the gateway device to determine a first priority queue from a plurality of priority queues for transmission of the first data packet based on a data packet identifier from the plurality of data packets, and place the first data packet in the determined first priority queue for transmission via a network interface associated with the determined first priority queue. For the purposes of this specification, a computer-usable or computer-readable non-transitory storage medium may be any means capable of containing, storing, transmitting, propagating, or transmitting a program used or in connection with an instruction execution system, apparatus, or device. The medium can be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system (or device or apparatus) or a propagation medium, or themselves, because signal carriers are not included in the definition of physical computer-readable media, which includes semiconductor or solid-state memory, magnetic tape, removable computer disks, random access memory (RAM), read-only memory (ROM), hard disks, and optical disks, such as optical disc read-only memory (CD-ROM), optical disc read / write, and DVD. The processing units and program code used to implement each aspect of this technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art.

[0046] Although this disclosure is described with reference to a few industrial devices, multiple industrial devices may be utilized in the context of this invention. Furthermore, although this disclosure uses two reference networks, 5G and WLAN, to explain this invention, multiple networks (of the same or different types) may be used. For example, this disclosure may be implemented using three networks: a first cellular network, a second WLAN network, and a third wired network. Additionally, although the gateway device in this disclosure is shown as a single device, multiple devices may be used to implement it. For example, a Layer 2 switch connected to multiple network hubs or network interface modules may also be used to implement the methods described herein. Furthermore, although this invention is explained using datagrams, other data blocks such as packets and data frames may be used in implementing this invention. Additionally, although this invention is explained using Layer 2 infrastructure, this invention can be implemented at any layer of the OSI model, including Layer 3.

[0047] While this disclosure has been described in detail with reference to certain embodiments, it should be understood that this disclosure is not limited to those embodiments. In view of this disclosure, many modifications and variations will be apparent to those skilled in the art without departing from the scope of the various embodiments of this disclosure as described herein. Therefore, the scope of this disclosure is indicated by the appended claims rather than by the foregoing description. All changes, modifications, and variations within the meaning and scope of the claims' equivalents are considered to be within their protection scope. All advantageous embodiments claimed in the method claims can also be applied to the system / apparatus claims.

Claims

1. A method for transmitting a plurality of datagrams by a gateway device having a plurality of network interfaces, each datagram from the plurality of datagrams comprising a datagram identifier and a datagram payload, wherein, The datagram payload is associated with a process in an industrial plant, the method comprising: a. determining, based on a filter and a datagram identifier of a first datagram from the plurality of datagrams, a first priority queue from a plurality of priority queues for transmission of the first datagram, wherein each priority queue from the plurality of priority queues is associated with a corresponding network interface from the plurality of network interfaces of the gateway device, wherein the filter comprises a plurality of bitmasks, each bitmasks is associated with a corresponding priority queue from the plurality of priority queues, and wherein determining the first priority queue comprises: identifying a first bitmask from the plurality of bitmasks in the filter, wherein a result of a logical operation between the datagram identifier and the first bitmask is equal to a preconfigured value, and wherein the first bitmask is associated with the first priority queue; and b. placing the first datagram in the determined first priority queue for transmission of the first datagram by a first network interface associated with the determined first priority queue; wherein the datagram identifier of the first datagram is generated by a control device based on network quality of service (QoS) requirements associated with a process application associated with the first datagram and a first communication protocol; and wherein the control device is configured to communicate over two or more communication protocols, the two or more communication protocols including the first communication protocol, wherein the control device selects the first communication protocol for datagram transmission from a plurality of communication protocols based on network quality of service requirements associated with the process application, and generates the datagram identifier according to the selected communication protocol, wherein the generated datagram identifier indicates a priority of the first datagram.

2. The method of claim 1, wherein, The plurality of network interfaces includes a network interface connected to a cellular network and another network interface connected to a local area network.

3. The method of any one of claims 1-2, wherein, The filter is generated by a network controller based on a network topology of the industrial facility and based on engineering data including network QoS requirements associated with a plurality of process applications.

4. The method of any one of claims 1 to 2, wherein, The gateway device includes a ternary content addressable memory module for storing a filter for determining the first priority queue.

5. The method of any one of claims 1 to 2, wherein, The control device is a process controller connected to one or more field devices including at least one of an actuator and a sensor, and wherein the network quality of service (QoS) requirements include a loop cycle time of a control loop associated with the process controller.

6. The method of any one of claims 1 to 2, wherein, The control device is an operator device and the process application is an augmented reality application.

7. The method of claim 1, wherein, The binary operation is a bitwise operation.

8. A method of transmitting a datagram by a control device, the method comprising: a. generating a first datagram to be sent, the first datagram being associated with a process application in an industrial plant; b. generating a datagram identifier for the first datagram based on network quality of service (QoS) requirements associated with the process application and a first communication protocol from two or more communication protocols, wherein the generated datagram identifier indicates a priority of the first datagram, wherein the control device selects the first communication protocol for datagram transmission from a plurality of communication protocols based on network quality of service requirements associated with the process application and generates the datagram identifier according to the selected communication protocol; c. determining a first priority queue from a plurality of priority queues for transmission of the first datagram from the plurality of datagrams based on a filter and a datagram identifier of the first datagram, wherein the filter comprises a plurality of bitmasks, each bitmasks associated with a corresponding priority queue from the plurality of priority queues, and wherein determining the first priority queue comprises identifying a first bitmask from the plurality of bitmasks in the filter, wherein a result of a logical operation between the datagram identifier and the first bitmask is equal to a preconfigured value, and wherein the first bitmask is associated with the first priority queue; d. placing the first datagram in the determined first priority queue for transmission of the first datagram by a first network interface associated with the determined first priority queue; and c. transmitting the first datagram to a gateway device connected to a control system, wherein the gateway device comprises a plurality of network interfaces; wherein the datagram identifier is used by the gateway device to identify a network interface for transmission of the first datagram to a remote system.

9. The method of claim 8, wherein, Generating the first datagram comprises identifying a first communication protocol from two or more communication protocols based on network quality of service (QoS) requirements associated with the process application.

10. A gateway device for sending and receiving a plurality of datagrams, each datagram from the plurality of datagrams comprising a datagram identifier and a datagram payload, wherein, The datagram payload is associated with a process in an industrial plant, the gateway device comprises: a. two or more network interfaces comprising a first network interface connected to a first network and a second network interface connected to a second network; b. a plurality of priority queues, each priority queue for storing one or more datagrams and associated with one of the first network interface and the second network interface; and c. a datagram classification module connected to a content address memory module, the datagram classification module configured to: i. determining, from the plurality of priority queues, a first priority queue for transmission of a first datagram from the plurality of datagrams based on a datagram identifier of the first datagram and a filter, wherein the filter comprises a plurality of bitmasks, each bitmasks being associated with a corresponding priority queue from the plurality of priority queues, and wherein determining the first priority queue comprises identifying a first bitmask from the plurality of bitmasks in the filter, wherein a result of a logical operation between the datagram identifier and the first bitmask is equal to a preconfigured value, and wherein the first bitmask is associated with the first priority queue, ii. placing the first datagram in the determined first priority queue for transmission of the first datagram by a network interface associated with the determined first priority queue; wherein the datagram identifier of the first datagram is generated by a control device based on network quality of service requirements associated with a process application associated with the first datagram and a first communication protocol; and wherein the control device is configured to communicate over two or more communication protocols, the two or more communication protocols comprising the first communication protocol, wherein the control device selects the first communication protocol for datagram transmission from a plurality of communication protocols based on network quality of service requirements associated with the process application, and generates the datagram identifier according to the selected communication protocol, wherein the generated datagram identifier indicates a priority of the first datagram.

11. The gateway device of claim 10, wherein, The plurality of network interfaces comprises a network interface connected to a cellular network and another network interface connected to a local area network.

12. The gateway device of claim 10 or 11, wherein, The content address memory module is a ternary content address memory module used by the datagram classification module to determine the first priority queue.

13. A non-transitory storage medium for transmitting a plurality of datagrams, the non-transitory storage medium having machine readable instructions stored therein that, when executed by a processing unit, cause the processing unit to: i. determining, based on the filter and a datagram identifier of a first datagram from the plurality of datagrams, a first priority queue from a plurality of priority queues for transmission of the first datagram, wherein, The filter comprises a plurality of bitmasks, each bitmasks being associated with a corresponding priority queue from the plurality of priority queues, and wherein determining the first priority queue comprises identifying a first bitmask from the plurality of bitmasks in the filter, wherein a result of a logical operation between the datagram identifier and the first bitmask is equal to a preconfigured value, and wherein the first bitmask is associated with the first priority queue, and ii. placing the first datagram in the determined first priority queue for transmission of the first datagram by a network interface associated with the determined first priority queue; wherein a datagram identifier of the first datagram is generated by the control device based on network quality of service requirements associated with the process application associated with the first datagram and a first communication protocol; and wherein the control device is configured to communicate over two or more communication protocols, including the first communication protocol, wherein the control device selects the first communication protocol for datagram transmission from a plurality of communication protocols based on network quality of service requirements associated with the process application and generates the datagram identifier according to the selected communication protocol, wherein the generated datagram identifier indicates a priority of the first datagram.

Citation Information

Patent Citations

  • Quality of service (QOS) signaling for a wireless network

    US20060114855A1

  • Quality of service packet processing without explicit control negotiations

    US20110019556A1

  • Multipath TCP Signaling with Application Specific Tags

    US20150201046A1

  • Radio access technology (RAT) selection based on device usage patterns

    US20190090181A1