Patent ID: 12218824

DETAILED DESCRIPTION

The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

FIG.1is a schematic diagram illustrating a communication network100where embodiments presented herein can be applied. In some examples the communication network100is part of an industrial plant.

The communication network100has a wired part and a wireless part. Thus, packets of traffic flows are communicated over wireless paths (such as over radio links) in the wireless part and over wired paths (such as over fiber optic cables, copper wires, or the like) in the wired part. In particular, the communication network100comprises a wireless network110. In some examples the wireless network110is a wireless mesh network. It is noted that only some of all possible wireless paths are illustrated in the example ofFIG.1.

The wireless network110is interconnected to the wired part of the communication network100via gateways120a,120b,120c,120d. Thus the gateways120a,120b,120c,120dare configured for communication with entities in the wired part of the communication network100over wired links and with entities in the wireless network110over wireless links. In some examples the gateways120a,120b,120c,120dare implemented as access points.

The gateways120a,120b,120c,120dprovide access to the wired part of the communication network100for intermediate nodes130a,130b,130c,130d,130e,130fin the wireless network110. Thus the intermediate nodes130a,130b,130c,130d,130e,130fare configured for communication with each other, as well as with the gateways120a,120b,120c,120d, over wireless paths. Thus, in some examples the packets between the intermediate nodes130a,130b,130c,130d,130e,130fand a control system node200(see below) are routed via a gateway120a,120b,120c,120dinterfacing the wireless network110, and the packets are routed on a wired path between the gateway120a,120b,120c,120dand the control system node200. In some examples the intermediate nodes130a,130b,130c,130d,130e,130fare switches.

In turn, the intermediate nodes130a,130b,130c,130d,130e,130fprovide network access to terminal devices140a,140b. Thus the terminal devices140a,140bare configured for communication with the intermediate nodes130a,130b,130c,130d,130e,130fover wireless paths. In some examples the terminal devices140a,140bare networked pieces of industrial equipment.

The wired part of the communication network100comprises a server150and a control system node200. In some examples the control system node200is an industrial equipment control system node200. In some examples the server150is part of, or collocated with, the control system node200.

As disclosed above there is a need for improved routing of packets in wireless networks110. One example of such a need is illustrated inFIG.1by means of disturbances160a,160bon two of the wireless links. The disturbances160a,160bmight be caused by an object170moving along a direction as indicated by arrow180. The object170could be a truck, a lorry, etc. The disturbances160a,160bnegatively affect the performance of the wireless network110, and especially the wireless link between terminal device140aand intermediate node130band the wireless link between terminal device140aand intermediate node130e. It can thus here be assumed that similar channel conditions are experienced for these two wireless links within a given time window, thus causing these wireless links to experience joint changes in the link quality. Non-limiting examples of channel conditions are channel strength, channel throughput, bit error rate, packet error rate, channel state information (CSI), etc.

In general terms, the embodiments disclosed herein aims to solve this problem by detecting correlated disturbances on the wireless paths and by avoiding redundant information to be sent to, or from, the terminal devices140a,140b, over wireless paths that would be victim of correlated disturbances.

The embodiments disclosed herein in particular relate to mechanisms for routing packets between a terminal device140a,140band a control system node200via intermediate nodes130a,130b,130c,130d,130e,130fon wireless paths in a wireless network110. In order to obtain such mechanisms there is provided a control system node200, a method performed by the control system node200, a computer program product comprising code, for example in the form of a computer program, that when run on a control system node200, causes the control system node200to perform the method, thereby providing a centralized realization of the embodiments disclosed herein. Additionally or alternatively, at least some of the steps might be performed by the intermediate nodes130a,130b,130c,130d,130e,130fin a collaborative manner, thereby providing a distributed realization of the embodiments disclosed herein.

FIG.2is a flowchart illustrating embodiments of methods for routing packets between a terminal device140a,140band a control system node200via intermediate nodes130a,130b,130c,130d,130e,130fon wireless paths in a wireless network110. The methods are performed by the control system node200. The methods are advantageously carried out by the control system node200executing one or more computer programs520.

In some examples the control system node200initiates all intermediate nodes130a,130b,130c,130d,130e,130fthat are part of, or will be part of, the wireless network110to monitor wireless links by broadcasting an initiation beacon signal to all the intermediate nodes130a,130b,130c,130d,130e,130fin the wireless network110. Particularly, according to an embodiment the control system node200is configured to perform (optional) step S102:

S102: The control system node200broadcasts an initiation beacon signal to all the intermediate nodes130a,130b,130c,130d,130e,130fin the wireless network110.

In some examples the initiation beacon signal is broadcasted via the gateways120a,120b,120c,120d.

There could be different types of initiation beacon signals. In some examples the beacon signal comprises information, such as hop number, which weights to use for determining the most suitable intermediate node130a,130b,130c,130d,130e,130f(and gateway120a,120b,120c,120d) for routing packets to, etc. Non-limiting examples of such weights are Received Signal Strength Indicator (RSSI), Link Quality Indicator (LQI), energy capacity, etc.

In some examples the intermediate nodes130a,130b,130c,130d,130e,130fare preconfigured to monitor the wireless links and then there is not any need for an initiation beacon signal to be broadcasted.

The intermediate nodes130a,130b,130c,130d,130e,130fare configured to monitor the wireless links to neighboring intermediate nodes130a,130b,130c,130d,130e,130fin order to detect joint changes in the link quality of the wireless links. The intermediate nodes130a,130b,130c,130d,130e,130fare configured to report the joint changes to the control system node200.

In particular, in step S104information on disturbances160a,060bof wireless paths used for communicating packets of a traffic flow between the intermediate nodes130a,130b,130c,130d,130e,130fin the wireless network110is obtained. Step S104might be performed by the control node200or by one or more of the intermediate nodes130a,130b,130c,130d,130e,130f, depending on the realization.

The control system node200, or one or more of the intermediate nodes130a,130b,130c,130d,130e,130f, could then identify correlated disturbances from the joint changes in the link quality.

In particular, in step S106, mutual correlation between the disturbances160a,160bof the wireless paths is determined based on the information on disturbances160a,160bas obtained in step S104. Step S106might be performed by the control node200or by one or more of the intermediate nodes130a,130b,130c,130d,130e,130f, depending on the realization.

The information on disturbances160a,160bas obtained in step S140could be supplemented by other type of information indicative of possible disturbances of wireless paths in the network110. This other type of information might be historical or predicted disturbances of wireless paths in the network110. The predicted disturbances could be obtained using artificial intelligence (AI) or machine learning (ML) as trained on data of historical disturbances. Hence, in some examples the mutual correlation in step S106is also based on such other type of information indicative of possible disturbances.

The determined mutual correlation is then used when determining via which intermediate nodes130a,130b,130c,130d,130e,130fthe packets of the traffic flow between the terminal device140a,140band the control system node200should be routed.

In particular, in step S108the packets of the traffic flow between the terminal device140a,140band the control system node200are routed. The packets are routed via some of the intermediate nodes130a,130b,130c,130d,130e,130fand along disjoint wireless paths. The packets are transmitted in parallel on the disjoint wireless paths. The disjoint wireless paths have mutual correlation not higher than a threshold correlation value. Step S108might be performed by the control node200or by one or more of the intermediate nodes130a,130b,130c,130d,130e,130f, depending on the realization.

With packets being transmitted in parallel is generally referred to that one and the same packet is simultaneously transmitted on two or more disjoint wireless paths. In some examples all packets are simultaneously transmitted on two or more disjoint wireless paths. In other examples only those packets that, according to some criterion, are considered as more important than other packets are simultaneously transmitted on two or more disjoint wireless paths. There could be different types of criteria. For example, packets carrying control information, control instructions, alarm signals, etc. might be regarded as more important than packets only carrying data.

Transmitting the packets in parallel increases redundancy, especially when one and the same packet is transmitted on two or more disjoint wireless paths. When the packets are transmitted in parallel both spatial and temporal diversity can be taken advantage of.

Selecting the wireless paths to be disjoint such that disjoint wireless paths have mutual correlation not higher than the threshold correlation value increases the probability of packets on at least one of the disjoint wireless paths to successfully reach its destination.

The routing might thus be determined such that disjoint wireless paths with uncorrelated probability of simultaneous packet loss are created, e.g. such that a piece of moving equipment in the production plant will not shadow or otherwise disturb both wireless paths at the same time. This enables improved fault tolerance, reliability, and/or energy efficiency compared to if the packets would have been routed via correlated wireless paths.

In the example ofFIG.1, the wireless link between terminal device140aand intermediate node130band the wireless link between terminal device140aand intermediate node130ewould, although being more than 90° separated from each other at terminal device140a, not fulfil the criterion of having a mutual correlation not higher than a threshold correlation value because of the disturbances160a,160baffecting these two wireless links. At least one of the other wireless links would then be selected for terminal device140ain step S108, such as one of the wireless links between terminal device140aand intermediate node130aand between terminal device140aand intermediate node130d. If an additional criterion is that the wireless paths must terminate at mutually different gateways, then one of these latter wireless links could be selected for terminal device140ain combination with one of the wireless link between terminal device140aand intermediate node130band the wireless link between terminal device140aand intermediate node130e.

In the example ofFIG.1, the two wireless paths for terminal device mob are already disjoint: a first wireless path is defined by the wireless link between terminal device140band intermediate node130f, and the wireless link between intermediate node130fand gateway120c; and a second wireless path is defined by the wireless link between terminal device140band intermediate node130e, and the wireless link between intermediate node130eand gateway120d. Not only are these wireless paths disjoint, they are also almost 180° separated from each other at terminal device140b.

Step S108can be repeated for each terminal device140a,140b.

Steps S104, S106, S108could collectively define a topology discovery algorithm according to which it is determined which wireless paths to use in the wireless network110for routing packets between the terminal device140a,140band the control system node200.

In some examples the control system node200selects a first wireless path along some of the intermediate nodes130a,130b,130c,130d,130e,130fbetween the terminal device140a,140band one of the gateways120a,120b,120c,120d. The first wireless path could, for example, be defined by the wireless links with the best accumulated link quality between all intermediate nodes along the wireless path between the terminal device140a,140band one of the gateways120a,120b,120c,120d.

In some examples the control system node200further selects at least one second wireless path along some of the intermediate nodes130a,130b,130c,130d,130e,130fbetween the terminal device140a,140band one of the gateways120a,120b,120c,120d. One second wireless path could be selected such that it has the second highest accumulated link quality between all intermediate nodes along the wireless path between the terminal device140a,140band one of the gateways120a,120b,120c,120d. in some example another second wireless path is selected such that it has the highest accumulated link quality between all intermediate nodes along the wireless path between the terminal device140a,140band one of the gateways120a,120b,120c,120d, but only considering those intermediate nodes which have mutual correlation to those intermediate nodes defined by the first wireless path not being higher than the threshold correlation value.

The packets could thus be routed between the terminal devices140a,140band the control system node200along a first wireless path, a second wireless path, and another second wireless path. Further, the packets might be routed over several disjoint wireless paths for increased packet reliability whilst still meeting the packet deadline.

Embodiments relating to further details of routing packets between a terminal device140a,140band a control system node200via intermediate nodes130a,130b,130c,130d,130e,130fon wireless paths in a wireless network no as performed by the control system node200will now be disclosed.

It could typically be that the object170causing the disturbances160a,160bis non-stationary. That is, the object170could typically be moving, as indicated by arrow180in the example ofFIG.1. This could typically cause the radio environment to change and thus cause the performance of different wireless links to be negatively affected by the object170from one time to another. In some examples the mutual correlation and the routing of the packets are therefore performed within the same time window such that the routing is executed whilst the determined mutual correlation still is valid. Particularly, according to an embodiment, the information on disturbances160a,160bis collected within a time window, and wherein the routing is performed within the same time window. This enables the routing to be based on near-instantaneous information on the disturbances160a,160b.

In some examples the length of time window depends on channel conditions that cause the disturbances160a,160bof the wireless paths. Particularly, according to an embodiment, the disturbances160a,160bare caused by varying channel conditions in the wireless network110, and the time window has a time length that depends on characteristics of the varying channel conditions. One such characteristics could be related to the size of the object170; the larger the size the longer the disturbances160a,160bare likely to be caused for the same part of the wireless network110. One such characteristics could be related to the density of the object170; the higher the density the more severe disturbances160a,160bare likely to be. One such characteristics could be related to the speed in which the object170is moving; the higher the speed the more rapidly the disturbances160a,160bare likely to move from one part of the wireless network110to another part of the wireless network110. Examples of channel conditions, that thus might vary according to any of these characteristics, have been given above.

In some examples the packets are routed such that the disjoint wireless paths terminate at mutually different gateways120a,120b,120c,120d. That is, according to an embodiment, each of the disjoint wireless paths are routed via a separate gateway120a,120b,120c,120d.

In some examples the intermediate nodes130a,130b,130c,130d,130e,130fare grouped according to the determined mutual correlation between the disturbances160a,160b. Hence, the determined mutual correlation can be used to define subsets of the intermediate nodes130a,130b,130c,130d,130e,130f. Intermediate nodes in the same subset are associated with disturbances160a,160bof higher mutual correlation than those other intermediate nodes that are not in the same subset. Hence, according to an embodiment the intermediate nodes130a,130b,130c,130d,130e,130fare, based on the determined mutual correlation between the disturbances160a,160b, grouped into at least two subsets of intermediate nodes130a,130b,130c,130d.

In some examples each of the packets is routed along the disjoint wireless paths via a first subset of the intermediate nodes130a,130b,130c,130d,130e,130fin one of the disjoint wireless paths and via a second subset of the intermediate nodes130a,130b,130c,130d,130e,130fin another of the disjoint wireless paths, where the first subset and the second subset are disjoint subsets (i.e., do not have any intermediate nodes130a,130b,130c,130d,130e,130fat all in common). That is, according to an embodiment, each of the packets is routed along the disjoint wireless paths via at least one respective intermediate node130a,130b,130c,130d,130e,130fin each disjoint wireless path.

There could be different examples of the threshold correlation value. According to an embodiment the threshold correlation value corresponds to wireless paths of uncorrelated disturbances160a,160b. For example, in order to achieve fault tolerance, the packets might be routed such that not all the disjoint wireless paths are via an intermediate node that has no failover neighbors.

Further, the packets might be routed only via intermediate nodes130a,130b,130c,130d,130e,130fthat have a harvester or main power for relaying and routing instead of via battery operated intermediate nodes130a,130b,130c,130d,130e,130f. Particularly, according to an embodiment, the packets are routed only via those intermediate nodes130a,130b,130c,130d,130e,130fthat have a remaining operating power above a threshold power value.

The topology discovery algorithm can be implemented in either a centralized manner as described above or in a decentralized manner in each intermediate node. Hence, in some aspects at least part of the functionality of the control system node200is implemented in at least some of the intermediate nodes130a,130b,130c,130d,130e,130f.

FIG.3schematically illustrates, in terms of a number of functional units, the components of a control system node200according to an embodiment. Processing circuitry210is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product510(as inFIG.5), e.g. in the form of a storage medium230. The processing circuitry210may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry210is configured to cause the control system node200to perform a set of operations, or steps, as disclosed above. For example, the storage medium230may store the set of operations, and the processing circuitry210may be configured to retrieve the set of operations from the storage medium230to cause the control system node200to perform the set of operations. The set of operations may be provided as a set of executable instructions.

Thus the processing circuitry210is thereby arranged to execute methods as herein disclosed. The storage medium230may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The control system node200may further comprise a communications interface220at least configured for communications with other nodes, functions, entities, and devices of the communication network100. As such the communications interface220may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry210controls the general operation of the control system node200e.g. by sending data and control signals to the communications interface220and the storage medium230, by receiving data and reports from the communications interface220, and by retrieving data and instructions from the storage medium230. Other components, as well as the related functionality, of the control system node200are omitted in order not to obscure the concepts presented herein.

FIG.4schematically illustrates, in terms of a number of functional modules, the components of a control system node200according to an embodiment. The control system node200ofFIG.4comprises a number of functional modules; an obtain module210bconfigured to perform step S104, a determine module210cconfigured to perform step S106, and a route module210dconfigured to perform step S108. The control system node200ofFIG.4may further comprise a number of optional functional modules, such as a broadcast module210aconfigured to perform step S102. In general terms, each functional module210a-210dmay in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium230which when run on the processing circuitry makes the control system node200perform the corresponding steps mentioned above in conjunction withFIG.4. It should also be mentioned that even though the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used. Preferably, one or more or all functional modules210a-210dmay be implemented by the processing circuitry210, possibly in cooperation with the communications interface220and/or the storage medium230. The processing circuitry210may thus be configured to from the storage medium230fetch instructions as provided by a functional module210a-210dand to execute these instructions, thereby performing any steps as disclosed herein.

The control system node200may be provided as a standalone device or as a part of at least one further device. For example, the control system node200may be provided as part of a control system of an industrial plant. Alternatively, functionality of the control system node200may be distributed between at least two devices, or nodes.

Thus, a first portion of the instructions performed by the control system node200may be executed in a first device, and a second portion of the of the instructions performed by the control system node200may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the control system node200may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a control system node200residing in a cloud computational environment. Therefore, although a single processing circuitry210is illustrated inFIG.3the processing circuitry210may be distributed among a plurality of devices, or nodes. The same applies to the functional modules210a-210dofFIG.4and the computer program520ofFIG.5.

FIG.5shows one example of a computer program product510comprising computer readable storage medium530. On this computer readable storage medium530, a computer program520can be stored, which computer program520can cause the processing circuitry210and thereto operatively coupled entities and devices, such as the communications interface220and the storage medium230, to execute methods according to embodiments described herein. The computer program520and/or computer program product510may thus provide means for performing any steps as herein disclosed.

In the example ofFIG.5, the computer program product510is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product510could also be embodied as a memory, such as a random-access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program520is here schematically shown as a track on the depicted optical disk, the computer program520can be stored in any way which is suitable for the computer program product510.

The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.