Patent Description:
The monitoring and active controlling of an industrial plant is based on various information gathered within the plant. For example, sensor devices output measurement values, and actuator devices report their operational status. The information may be used by a distributed control system, DCS. For example, sensor data may be used as feedback in control loops that control the plant such that certain state variables, such as a temperature or a pressure, are kept at desired set-point values.

Such communication is time-critical. It needs to be guaranteed that any change in measurement values is communicated in a timely manner, such that the DCS can react to the change. Also, any actions taken by the DCS need to be communicated to actuators in the plant in a timely manner. Time-sensitive networks, TSN, nominally guarantee end-to-end-determinism in the communication. However, the network may deviate from this nominal state for a variety of reasons, including configuration errors, hardware or cabling faults, or hardware and/or software components that promise a certain performance but just fail to deliver on this promise.

<CIT> discloses a method for handling failure of a TSN communication link in a TSN network.

<CIT> discloses systems and methods for tracing traffic through a network. Based on a negotiation between a first network element and a second network element, the first network element can determine a customized packet type supported by the second network element. A tracing header with a unique identifier can be added to a packet received by the first network element to generate a modified packet. Based on the unique identifier, a second network element can be identified by tracing the modified packet as it is forwarded to the second network element.

<CIT> discloses a method for analysis of Quality of Experience diagnostic files that may be generated by a client device and sent to a network node for analysis. The diagnostic files may be analysed to determine device Key Performance Indicators and a device Quality of Experience, and to determine a root cause of a network problem.

<CIT> discloses a method to determine a root cause of a performance issue in a software defined network, SDN, using flow statistics maintained by hosts in the network.

It is the objective of the present invention to facilitate the testing of devices or subsections within a network, so as to allow locating and remedying the source of network problems.

This objective is achieved by a testing method according to the independent claim <NUM>.

Further advantageous embodiments are detailed in the dependent claims.

Embodiments and examples not covered by the claims are presented to illustrate, and facilitate the understanding of, the claimed invention.

The invention provides a method for testing a device or a subsection under test within a network. In particular, a subsection may comprise a plurality of devices that are interconnected by links. This subsection may form a contiguous domain within the network that is connected to the rest of the network via certain links. Devices may include, for example, end devices such as computers, sensors, actuators or controllers in a distributed control system, as well as network infrastructure devices such as switches, routers, bridges or wireless access points.

In the course of the method, at least one test data flow is generated by at least one sending device. This sending device is a regular participant of the network and borders the device or subsection under test. That is, the sending device is present in the network as per the normal deployment of the network for its intended operation. It is not specifically inserted into the network for the purpose of testing and/or troubleshooting. The sending device is connected to the device or subsection under test via a link of the network, which is preferably a direct link that does not pass via intermediate devices.

The sending device sends the test data flow to at least one receiving device that is different from the sending device. Just like the sending device, the receiving device is a regular participant of the network and also borders the device or subsection under test. The test data flow is sent on a path that passes through the device or subsection under test. The receiving device determines at least one performance metric of the received test data flow. If network communication to, from or within the device or subsection under test is suffering from a problem, this can be expected to be visible in the at least one performance metric. Examples of performance metrics include throughput, latency, reliability and jitter. These belong to the quantities for which guarantees are given in the context of TSN networks.

Based on the at least one performance metric, it is then determined whether the device or subsection under test, and/or a link between this device or subsection under test and the sending device or receiving device, is performing according to at least one predetermined criterion. For example, if the one or more performance indicators are all nominal, this indicates that everything in the path between the sending device and the receiving device is working properly. But if one or more performance indicators fall short of nominal values, this indicates that there is a problem somewhere in said path between the sending device and the receiving device.

The inventors have found that in this manner, devices or subsections may be tested using only hardware and links that are already in the network as part of its normal deployment for its intended use. No particular hardware needs to be inserted into the network, which can fully remain in a deployment state intended for regular operation. In particular, it is possible to test the network in exactly the same hardware, software and installation configuration and in exactly the same physical environment in which regular operation of the network is intended. In this manner, many more kinds of problems may be detected. Once these problems have been fixed, the probability that further problems will surprisingly occur during regular operation of the network is greatly reduced.

For example, if a transceiver module is bad and the physical layer just barely manages to output a required voltage level for a logical bit "<NUM>" onto the physical link, it depends on the exact physical configuration of the link and on the device on the other end of the link whether the logical bit "<NUM>" will be correctly detected or whether it will be mis-detected as a logical bit "<NUM>". Thus, a special testing and/or troubleshooting device with a high quality transceiver might still receive all bits sent by the bad transceiver module correctly. But a transceiver in a device that is part of the real deployment may be of a lesser quality and/or already degraded due to wear and tear, so it may experience bit errors. So while the testing and/or troubleshooting device does not see any problem, a problem may occur later during regular operation. Using regular participants of the network as the sending device and the receiving device helps to catch such problems in time.

In another example, if there is a loose contact or a bad cable that causes sporadic errors, inserting a test and/or troubleshooting device requires physically manipulating cables, which might cause the problem to temporarily disappear during the testing. The problem might thus go unnoticed and reappear later during regular operation of the network. Using regular participants of the network as the sending device and the receiving device literally avoids physically touching any device or cable of the network.

Also, problems may be created during installation of otherwise performing equipment.

For example, a wrong type of cable (e.g., Ethernet Cat-<NUM> instead of Cat-6e) may be chosen, or a required grounding of a cable may be omitted. Bridges may be misconfigured, and/or cables may be plugged into wrong ports. All these installation issues may be detected by means of the testing in exactly the deployment state that is to be used for regular operation.

Moreover, the software configuration of the network will be the same that will be used for regular operation, so that problems due to a certain software configuration may be detected as well. For example, mutual communication between devices may be impeded if they are operating with different software versions.

The possibility to detect a broad class of problems is particularly important in the main use case where the network is configured to carry network traffic of a distributed control system, DCS, in an industrial plant. If any unexpected problems occur during regular operation of the network, they may immediately impact the operation of the plant before there is time to remedy them. The network problem may thus have a direct impact on the productivity, or even on the safety or integrity, of the plant.

Also, in industrial plants, there are more specific causes for errors that can only be spotted if the testing is performed in the actual deployment state for regular operation. For example, industrial equipment may send electromagnetic cross-talk onto cables, so that transmissions that are already of marginal physical quality may be garbled. In another example, the proximity of a network device to heat-generating industrial equipment may cause the temperature inside the network device to rise too high, so that the processor of this network device steps down to a slower clock speed and performance of the network device drops.

In particular, the test data flow may be created and then sent before startup of the industrial plant, and/or during maintenance of the industrial plant. In this manner, if any problems become apparent during testing, they will not affect the regular operation of the plant. But the test data flow may also be created and then sent while equipment of the industrial plant that is controlled by the device and/or subsection under test is not in use and/or deactivated. In this manner, more opportunities for performing tests can be created, allowing to periodically re-test in order to spot any newly occurring problems (such as the degradation of electronic components).

Multiple sending devices and multiple receiving devices that border the device or subsection under test are chosen such that every device that is a regular participant of the network and borders the device or subsection under test assumes the role of the sending device, and/or the receiving device, with respect to at least one test data flow. In this manner, multiple paths through the device or subsection under test may be investigated, so that all components in the device or subsection under test that might potentially cause a problem are in at least one investigated path. If performance metrics on all investigated paths are nominal, the probability of an unexpected problem occurring during regular operation of the network is very low. Figuratively speaking, investigation of one path from a sending device to a receiving device corresponds to an X-ray image of the device or subsection under test from one perspective, and images taken from multiple perspectives are needed for a complete assessment of the state of the device or subsection under test. All this can be performed automatically without any manual intervention, through an organized effort of neighbors of the device or subsection under test in a distributed and collaborative manner.

In a particularly advantageous embodiment, performance metrics from multiple receiving devices are aggregated. This aggregating may be performed on one more receiving devices, and/or on a centralized Network Management or Monitoring Application entity. Based on the aggregated performance metrics, it is then determined whether the device, substation under test or link is performing according to the at least one predetermined criterion.

In a particularly advantageous embodiment, the network is chosen to be deterministic with respect to resource allocation and/or traffic scheduling. For example, the network may be a TSN network. At least one performance metric, and/or the at least one predetermined criterion, may then be determined based at least in part on the resource allocation and/or traffic scheduling of the network. For example, in a deployment state ready for the intended use of the network, throughput rates and/or delivery times may be configured for different types of network traffic. For simulated traffic of each type used as a test data flow, the performance metrics may then be reasonably expected to correspond to what has been allocated to this particular type. Information about the resource allocation and/or traffic scheduling may, for example, be obtained from the Centralized Network Configuration, CNC, entity, and/or from the Centralized User Configuration, CUC, entity of a TSN network.

In a further advantageous embodiment, the at least one performance metric, and/or the at least one predetermined criterion, is determined based at least in part on a nominal performance specification of the device or subsection under test, and/or of a link between this device or subsection under test and a sending device or receiving device. This allows to detect under-performing devices or links. For example, as discussed above, a device may be prevented from outputting its full performance because its internal temperature is too high and its processor needs to step down clock speed. But it is also possible that a manufacturer of a device deliberately cheats and labels the device with a higher performance than it can actually output, in the hope that the customer will not attempt to fully utilize the advertised performance and thus will not notice he has been cheated.

In a further particularly advantageous embodiment, at least one test data flow is determined based at least in part on one or more of:.

Specifically, mimicking the traffic pattern expected during regular operation of the network causes the scenario that is being tested to more realistically correspond to the intended regular operation. In particular, some problems might only occur during certain phases of high load. For example, a high traffic volume might cause buffers, queues, address tables or other system resources of network infrastructure devices to become exhausted.

Also, the configuration and/or traffic scheduling of the network may already give away to a large extent how much traffic of which kind is to be expected where in the device or subsection under test. Using this information for generating test data flow keeps the test as close as possible to the scenario intended for regular operation.

Devices or subsections in the network may be tested one by one, so that the testing progressively covers more and more of the network until all relevant entities have been tested. But the method may also be used to progressively narrow down the scope of the testing until a culprit for a problem can be found.

Therefore, in a further advantageous embodiment, in response to determining that a subsection under test is not performing according to the at least one predetermined criterion, at least one device belonging to the subsection under test, and/or a subset of this subsection under test, is determined as a new device or subsection under test. The method is then repeated for this new device or subsection under test. In this manner, the root cause of the bad performance in the original subsection under test may be narrowed down.

The method may be wholly or partially computer-implemented. The invention therefore also relates to one or more computer programs with machine-readable instructions that, when executed on one or more computers and/or compute instances, cause the one or more computers to perform the method. In this context, a virtualization platform, a hardware controller, network infrastructure devices (such as switches, bridges, routers or wireless access points), as well as end devices in the network (such as sensors, actuators or other industrial field devices) that are able to execute machine readable instructions are to be regarded as computers as well. In particular, a network may be embodied as a software-defined network running on universal hardware.

The invention therefore also relates to a non-transitory storage medium, and/or to a download product, with the one or more computer programs. A download product is a product that may be sold in an online shop for immediate fulfillment by download. The invention also provides one or more computers and/or compute instances with the one or more computer programs, and/or with the one or more non-transitory machine-readable storage media and/or download products.

In the following, the invention is illustrated using Figures without any intention to limit the scope of the invention. The Figures show:.

<FIG> is a schematic flow chart of an exemplary embodiment of the method <NUM> for testing a device or a subsection under test <NUM> within a network <NUM>. As it is detailed further in <FIG>, the network <NUM> comprises TSN bridges 2a-2e, as well as TSN end stations 3a-3d.

In step <NUM>, the network <NUM> may be chosen to be deterministic with respect to resource allocation and/or traffic scheduling.

In step <NUM>, the network <NUM> may be to be a network <NUM> that is configured to carry network traffic of a distributed control system, DCS, in an industrial plant.

In step <NUM>, the network <NUM> may be chosen to be in a deployment state intended for regular operation.

In step <NUM>, at least one sending device <NUM> generates at least one test data flow <NUM>. This sending device <NUM> is a regular participant of the network <NUM> and borders the device or subsection under test <NUM>.

In step <NUM>, the sending device sends the test data flow <NUM> to at least one receiving device <NUM> on a path that passes through the device or subsection under test <NUM>. The receiving device <NUM> is another regular participant of the network <NUM> different from the sending device <NUM>. It also borders the device or subsection under test <NUM>.

In step <NUM>, the receiving device <NUM> determines at least one performance metric <NUM> of the received test data flow <NUM>.

In step <NUM>, based on the at least one performance metric <NUM>, it is determined whether the device or subsection under test <NUM>, and/or a link between this device or subsection under test <NUM> and the sending device <NUM> or receiving device <NUM>, is performing according to at least one predetermined criterion <NUM>. This determination may, for example, comprise a numeric score or be a binary determination. If the determination is a binary one, the result may be either OK or "not OK" (NOK).

In step <NUM>, it is checked whether the determination is OK. If this is not the case (truth value <NUM>), in step <NUM>, at least one device 2a-2e, 3a-3d belonging to the subsection under test <NUM>, and/or a subset <NUM>' of the subsection under test <NUM>, is determined as a new device or subsection under test <NUM>. In step <NUM>, the method <NUM> is then repeated for this new device or subsection under test <NUM>, so as to narrow down the root cause of the bad performance in the original subsection under test <NUM>.

According to block <NUM>, multiple sending devices <NUM> may be chosen, and according to block <NUM>, multiple receiving devices <NUM> that border the device or subsection under test <NUM> are chosen. The choices are made such that every TSN bridge 2a-2e and every TSN end station 3a-3d that is a regular participant of the network <NUM> and borders the device or subsection under test <NUM> assumes the role of the sending device <NUM>, and/or the receiving device <NUM>, with respect to at least one test data flow <NUM>.

According to block <NUM>, at least one test data flow may be determined based at least in part on one or more of.

According to block <NUM>, if the network carries control traffic in an industrial plant, the test data flow <NUM> may be generated (and/or sent).

According to block <NUM>, the at least one performance metric <NUM> may comprise one or more of: throughput, latency, reliability and jitter.

According to block <NUM>, if the network <NUM> is deterministic with respect to resource allocation and/or traffic scheduling, the at least one performance metric <NUM>, and/or the at least one predetermined criterion <NUM>, may be determined based at least in part on the resource allocation and/or traffic scheduling of the network <NUM>.

According to block <NUM>, the at least one performance metric <NUM>, and/or the at least one predetermined criterion <NUM>, may be determined based at least in part on a nominal performance specification of the device or subsection under test <NUM>, and/or of a link between this device or subsection under test <NUM> and a sending device <NUM> or receiving device <NUM>.

According to block <NUM>, performance metrics <NUM> may be aggregated from multiple receiving devices <NUM>. According to block <NUM>, it may then be determined based on the aggregated performance metrics <NUM> whether the device, substation under test or link <NUM> is performing according to the at least one predetermined criterion <NUM>.

<FIG> shows an exemplary TSN network <NUM> that comprises five TSN bridges 2a-2c and four TSN end stations 3a-3d. In the example shown in <FIG>, the TSN bridge 2c is the device under test <NUM>. The TSN bridges 2a, 2b and 2d, as well as the TSN end station 3b, border the device under test <NUM>. That is, they are neighbors of the device under test <NUM> that are connected to this device under test <NUM> by direct links. The neighboring devices 2a, 2b, 2d and 3b take turns in acting as sending devices <NUM> and receiving devices <NUM> to convey five different test data flows <NUM>, 6a-6e on paths that lead through the device under test <NUM>.

The first test data flow 6a is sent by TSN bridge 2a that acts as the sending device <NUM> to the TSN bridge 2d that acts as the receiving device <NUM>. The second test data flow 6b is sent by TSN bridge 2b that acts as the sending device <NUM> to the same TSN bridge 2d as receiving device <NUM>. The TSN bridge 2d, in its role as receiving device <NUM>, determines that both test data flows 6a and 6b have been received with an acceptable performance (OK).

Compared with the first test data flow 6a, the third test data flow swaps the roles of the TSN bridges 2a and 2d. That is, TSN bridge 2d now acts as the sending device <NUM>, and TSN bridge 2a now acts as the receiving device <NUM>. Therefore, TSN bridge 2a determines that test data flow 6c has been received with an acceptable performance (OK).

The fourth test data flow 6d is sent from TSN end station 3b as sending device <NUM> to TSN bridge 2b as receiving device <NUM>. TSN bridge 2b determines that this test data flow 6d has not been received with an acceptable performance (NOK).

By contrast, if the roles are again swapped for the fifth test data flow 6e (TSN bridge 2b is sending device <NUM>, and TSN end station 3b is receiving device <NUM>), the TSN end station 3b determines that this fifth test data flow 6e has been received with an acceptable performance.

Claim 1:
A method (<NUM>) for testing a device or a subsection under test (<NUM>) within a network (<NUM>), comprising the steps of:
• generating (<NUM>), by at least one sending device (<NUM>) that is a regular participant of the network (<NUM>) and borders the device or subsection under test (<NUM>), at least one test data flow (<NUM>);
• sending (<NUM>), by the sending device (<NUM>), the test data flow (<NUM>) to at least one receiving device (<NUM>) that is a regular participant of the network (<NUM>) different from the sending device (<NUM>) and also borders the device or subsection under test (<NUM>), on a path that passes through the device or subsection under test (<NUM>);
• determining (<NUM>), by the receiving device (<NUM>), at least one performance metric (<NUM>) of the received test data flow (<NUM>);
• determining (<NUM>), based on the at least one performance metric (<NUM>), whether the device or subsection under test (<NUM>), and/or a link between this device or subsection under test (<NUM>) and the sending device (<NUM>) or receiving device (<NUM>), is performing according to at least one predetermined criterion (<NUM>),
wherein multiple sending devices (<NUM>) and multiple receiving devices (<NUM>) that border the device or subsection under test (<NUM>) are chosen (<NUM>, <NUM>) such that every device (2a-2e, 3a-3d) that is a regular participant of the network (<NUM>) and borders the device or subsection under test (<NUM>) assumes the role of the sending device (<NUM>), and/or the receiving device (<NUM>), with respect to at least one test data flow (<NUM>).