Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NETWORK NODE AND METHOD THEREIN FOR TRANSMITTING A MESSAGE IN A MESH NETWORK
Document Type and Number:
WIPO Patent Application WO/2018/151640
Kind Code:
A1
Abstract:
A method performed by a method performed by a network node for transmitting a message in a mesh network to a destination node is provided. The network node transmits (503) the message addressing the destination node. During a first time interval, the network node scans (504) if any message considered to be a relayed copy of the transmitted message is received. When no message considered to be a relayed copy of the transmitted message is received during the first time interval, the network node repeats the transmitting (505) of the message addressing the destination node. When a message considered to be a relayed copy of the transmitted message is received, the network node decides (506) to not repeat to transmit the message addressing the destination node.

Inventors:
SKILLERMARK PER (SE)
DI MARCO PIERGIUSEPPE (SE)
CHIRIKOV ROMAN (SE)
ARVIDSON PONTUS (SE)
Application Number:
PCT/SE2017/050543
Publication Date:
August 23, 2018
Filing Date:
May 23, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04L12/18; H04W40/02; H04W84/18
Foreign References:
GB2512733A2014-10-08
Other References:
LEVIS P. ET AL.: "The Trickle Algorithm", INTERNET ENGINEERING TASK FORCE (IETF) , RFC 6206, March 2011 (2011-03-01), XP055535853, Retrieved from the Internet [retrieved on 20171017]
Attorney, Agent or Firm:
AYOUB, Nabil (SE)
Download PDF:
Claims:
CLAIMS

A method performed by a network node (1 10, 1 11 , 1 12) for transmitting a message in a mesh network to a destination node (1 13), the method comprising:

transmitting (503), the message addressing the destination node (113), during a first time interval, scanning (504) if any message considered being a relayed copy of the transmitted message is received,

when no message considered being a relayed copy of the transmitted message is received during the first time interval, repeating transmitting (505) the message addressing the destination node 113,

when a message considered being a relayed copy of the transmitted message is received, deciding (506) to not repeat transmitting the message addressing the destination node (1 13).

The method according to claim 1 , wherein the network node (110, 11 1 , 112) is a relay node (1 12), the method further comprising:

receiving (501) the message addressing the destination node (113), which message is originating from a source node (1 11),

during a second time interval, scanning (502) if any message considered being a relayed copy of the transmitted message is received,

when no message considered to be a relayed copy of the transmitted message is received during the second time interval performing the transmitting (503) of the message addressing the destination node (1 13).

The method according to any of the claims 1-2, wherein repeating transmitting (505) the message addressing the destination node 113 is not performed when a repetition count threshold is exceeded.

The method according to claim 1 , wherein the network node (110, 11 1 , 112) is a source node (1 11), and wherein transmitting (503), the message addressing the destination node (1 13) is performed directly after the message is received form higher layers.

The method according to any of the claims 1-4, wherein a message is a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received.

A computer program comprising instructions, which when executed by a processor, cause the processor to perform actions according to any of the claims 1-5.

A carrier comprising the computer program of claim 6, wherein the carrier is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.

A network node (110, 11 1 , 112) for transmitting a message in a mesh network to a destination node (1 13), the network node (1 10, 1 11 , 1 12) being configured to,: e.g. by means of a transmitting module configured to, transmit, the message addressing the destination node (1 13),

during a first time interval, e.g. by means of a scanning module configured to, scan if any message considered to be a relayed copy of the transmitted message is received,

when no message considered to be a relayed copy of the transmitted message is received during the first time interval, e.g. by means of a repeat transmitting module configured to, repeat to transmit the message addressing the destination node (1 13),

when a message considered to be a relayed copy of the transmitted message is received, e.g. by means of a deciding module configured to, decide to not repeat transmitting the message addressing the destination node (1 13).

The network node (1 10, 1 11 , 1 12) according to claim 8, wherein the network node (1 10, 1 11 , 1 12) is a relay node (1 12), the network node (1 10, 1 11 , 1 12) further being configured to:

e.g. by means of a receiving module configured to receive, the message addressing the destination node (113), which message is originating from a source node (1 11),

during a second time interval, e.g. by means of the scanning module configured to, scan if any message considered to be a relayed copy of the transmitted message is received, when no message considered to be a relayed copy of the transmitted message is received during the second time interval perform the transmission of the message addressing the destination node (113), e.g. by means of the configured transmitting module.

10. The network node (1 10, 1 11 , 1 12) according to any of the claims 8-9, the network node (110, 11 1 , 112) further being configured to not perform repeat to transmit the message addressing the destination node 113 when a repetition count threshold is exceeded.

1 1. The network node (1 10, 1 11 , 1 12) according to claim 8, wherein the network node (1 10, 1 11 , 1 12) is a source node (1 11), and wherein the network node (110, 1 11 ,

1 12) further is configured to e.g. by means of the transmitting module configured to, transmit, the message addressing the destination node (113) is performed directly after the message is received form higher layers.

12. The network node (1 10, 1 11 , 1 12) according to any of the claims 8-11 , wherein a message is adapted to be a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received.

Description:
NETWORK NODE AND METHOD THEREIN FOR TRANSMITTING A MESSAGE IN A

MESH NETWORK

TECHNICAL FIELD

Embodiments herein relate to a network node and methods performed therein. In particular, embodiments herein relates to transmitting a message in a mesh network to a destination node. BACKGROUND

Mesh networking is a means to increase the effective communication range of wireless nodes and may further ease their deployment. In a wireless mesh network all nodes in the network can communicate with all other nodes, either by direct message exchange if within range or by making use of intermediate nodes that help passing the message along when direct communication is not possible. One message forwarding technique is routing, in which the message traverses an optimized path through the mesh network from a source node to the intended destination node. Another message forwarding technique is referred to as flooding. In flooding mesh networks all nodes that receive a message re-transmit it to all their neighbors. In this way the message reaches all nodes in the network and hence eventually also the intended destination node.

In flooding mesh, a message may often find multiple paths from source node to destination node and hence flooding mesh networks are inherently robust to topology changes and node failures. An obvious drawback of a flooding mesh network is, however, that every message induced in the system may create a very large amount of traffic over the air interface which in turn leads to that the system may suffer from severe congestion when the amount of traffic increases.

Bluetooth Mesh

Mesh networking is currently being standardized by the Bluetooth SIG and the first release of Bluetooth Mesh is expected in 2017. The solution is based on flooding using broadcasting over a set of shared channels - referred to as advertisement channels.

A node acting as a relay in a Bluetooth mesh network scans the advertisement channels for mesh packets. When a packet is detected and received the node checks if it is the destination of the packet. - If yes, the packet content is sent to an application in the node where it is processed. If the node is not the destination of the packet the node checks if it has already received and forwarded the packet. If yes, the packet is discarded. If not, the packet is forwarded in the mesh network by re-transmitting it over the advertisement channels so that the neighbors of the node can receive it. Typically, some random delay is introduced before forwarding the packet to avoid collisions. By means of this distributed mechanism the packet is forwarded from node to node(s) in the network until the packet arrives at the destination.

Bluetooth mesh defines two main methods to limit traffic flooding in the network: message cache and time to live. The message cache is used to prevent a device such as a node from relaying a message that it previously received. Message cache when used herein means a cache where information about messages previously encountered, relayed or transmitted, is stored in order to detect duplicates. In the current Bluetooth Low Energy (BLE) mesh specification, the stored information comprises source and sequence number. Any time a device such as node receives a message that it has already received it will be ignored. If the message cache on a given device is very small, then that device may retransmit a message unnecessarily but that message would then be ignored by other devices in the area that have already received the message. Each message will also include a Time To Live (TTL) value. This will limit the number of times that a message can be retransmitted. Each time a message is received and then retransmitted by a device, the TTL value is decremented by one.

Several mechanisms may be used to enhance the reliability of Bluetooth mesh networks. One such method is repetition. By transmitting each message multiple times, it is possible to increase the probability that a message reaches the destination node.

Repetition may be implemented end-to-end such as source node-to-destination node, or hop-by-hop, and in different layers in the protocol stack. In Bluetooth mesh hop-by-hop repetitions can be implemented in the network layer while end-to-end repetitions can be implemented in transport or application layer. Yet another means to improve the reliability is acknowledgements, either hop-by-hop or end-to-end. With acknowledged data transfer, only failed messages will be retransmitted. In Bluetooth mesh end-to-end

acknowledgement may be implemented on transport or application layer, but there is no support for hop-by-hop acknowledgements. A drawback of both repetitions and acknowledgements is that the overall traffic in the network increases, and hence the interference and risk for collisions and decoding failure.

Yet another observation related to repetition of messages in flooding mesh networks is that while typically there are several redundant relay nodes that forward messages in the mesh network it is only the source node that can inject the message into the mesh network. Accordingly, the consequence of failure on the first hop is doubtless that the message cannot reach its destination, while a failure on one the later hops often can be recovered by other, redundant relay nodes also forwarding the same message.

In US 2008/0247408 A1 , a method for efficient broadcasting of messages in an ad hoc wireless network is provided. When a node receives a broadcast message for re- broadcasting to other nodes in the network, it builds a list of identifiers of other nodes in the network from which the node requires reception of a broadcast message as an implicit acknowledgment that said other nodes in the network have received said broadcast message. The node builds this implicit acknowledgment list based on stored data pertaining to an existing tree-based topology of the network. After this list is built, the node re-broadcasts the broadcast message. Each node in the network executes this

broadcasting protocol and in so doing a broadcast message quickly and efficiently propagates through the network with minimal redundancy and impact on the topology of the network.

A trickle algorithm, described in Internet Engineering Task Force (IETF), Request for Comments (RFC) 6206, "The Trickle Algorithm", proposes a method to control

transmission from nodes in a network. The Trickle algorithm targets state information type of data, such as a software revision number, or the last heard multicast message, which may be of interest to many or all nodes in the network. The Trickle algorithm controls the transmissions of a node such that a node sends the message unless it hears a few other nodes transmitting the data, indicating the own transmission is redundant. The Trickle algorithm works with the concept of "consistent" and "inconsistent" transmissions; the exact meaning of "consistent" and "inconsistent" transmission depends on how a protocol uses the Trickle algorithm. For a node that only hears "consistent" transmissions, the Trickle algorithm will reduce the expected transmission frequency, while if the node overhears an "inconsistent" transmission the expected transmission frequency is increased.

SUMMARY

An object of embodiments herein is to improve the performance in a mesh network. According to a first aspect the object is achieved by example embodiments of a method performed by a network node for transmitting a message in a mesh network to a destination node. The network node transmits, the message addressing the destination node. During a first time interval, the network node scans if any message considered to be a relayed copy of the transmitted message is received.

When no message considered to be a relayed copy of the transmitted message is received during the first time interval, the network node repeats the transmitting of the message addressing the destination node.

When a message considered to be a relayed copy of the transmitted message is received, the network node decides to not repeat to transmit the message addressing the destination node.

According to a second aspect the object is achieved by example embodiments of a network node for transmitting a message in a mesh network to a destination node, the network node being configured to:

Transmit the message addressing the destination node,

during a first time interval, scan if any message considered being a relayed copy of the transmitted message is received,

when no message considered to be a relayed copy of the transmitted message is received during the first time interval, repeat to transmit the message addressing the destination node, and

when a message considered to be a relayed copy of the transmitted message is received, decide to not repeat transmitting the message addressing the destination node.

BRIEF DESCRIPTION OF THE DRAWINGS

Examples of embodiments herein are described in more detail with reference to attached drawings in which: Figure 1 is a diagram illustrating performance of a mesh network according to prior art. Figure 2 is a diagram illustrating performance of a mesh network according to prior art. Figure 3 is a diagram illustrating performance of a mesh network according to

embodiments herein.

Figure 4 is a schematic block diagram illustrating embodiments of a mesh network. Figure 5 is a flowchart depicting embodiments of a method in a network node. Figure 6 is a schematic block diagram illustrating embodiments of a network node, Figure 7 is a flowchart depicting embodiments of a method in a network node,

Figure 8 is a flowchart depicting embodiments of a method in a network node.

DETAILED DESCRIPTION

As part of developing embodiments herein the inventors recognized a problem which first will be discussed.

As mentioned above, in Bluetooth mesh, end-to-end acknowledgement may be implemented on transport or application layer, but there is no support for hop-by-hop acknowledgements. A drawback of both repetitions and acknowledgements is that the overall traffic in the network increases, and hence the interference and risk for collisions and decoding failure. Accordingly, it is delicate task to find an appropriate operating point that combines a high reliability with a low, or at least acceptable, interference level.

In the current Bluetooth mesh protocol, it is possible to make use of end-to-end acknowledgements and repetitions to increase the reliability. Repetitions can be implemented at application, transport, and network layer. Regarding message repetitions, there are a few informative recommendations included in the mesh specification, however, largely the definition of the message repetition scheme is left to the

implementer.

For message repetitions, neither the Bluetooth mesh specification nor the prior art in US 2008/0247408 A1 and IETF, RFC 6206, "The Trickle Algorithm" make any

differentiation between the behavioral of the source node and the relay nodes.

Furthermore, the method in US 2008/0247408 A1 cannot be directly applied to Bluetooth mesh, since it claims the existence of a tree based network topology, and the presence of an (hop-by-hop) acknowledgement list in the device, which are not defined in Bluetooth mesh. Nor is the Trickle algorithm in IETF, RFC 6206, and "The Trickle Algorithm" directly applicable to repetition of arbitrary mesh messages sent from a source node to one or several destination nodes.

An object of embodiments herein is to improve the performance in a mesh network. The plots in Figures 1 -3 illustrate the performance of a Bluetooth mesh network for different message repetition schemes and aim to quantify the performance improvement that can be expected by the embodiments herein in a deployment scenario. Whereof Figure 1-2 relate to prior art and Figure 3 relates to an example embodiment herein. Figures 1 - 3 illustrate the performance of a mesh network in terms of packet delays and ratio of delivered packets.

In Figure 1 , which shows the performance without doing repetitions of messages, none of the evaluated cases manage to achieve a service ratio (convergence value of the CDF in figure) close to 100%.

In Figure 2, three repetitions are performed for each hop for, and while

performance increases for some of the configurations, namely the cases with lower number of relay nodes, the performance is worsened for others. Figure 2 depicts performance with 3 repetitions at each transmission event.

Embodiments herein e.g. relate to an adaptive repetition scheme for mesh networks such as e.g. Bluetooth mesh.

Embodiments herein comprise a method where source and relay nodes in mesh networks such as e.g. Bluetooth mesh networks, adaptively repeat messages using received copies of the same message as decision basis. Source nodes repeats messages until the overheard messages indicate that the message has been successfully injected into the network, or until the maximum number of repetitions have been reached, while relay nodes repeat messages until overheard messages indicate that the message has progressed further into the network or until the maximum number of repetitions have been reached. The term overheard when used herein means that a message has been detected while scanning for messages.

An advantage of embodiments herein is that it may significantly increase the performance of a large mesh network such as e.g. a large Bluetooth mesh network. As the mechanism is completely autonomous and distributed, it also allows for deployment of larger systems without the need for detailed network planning or centralized coordination, as would otherwise be the case. Embodiments herein are applicable to Bluetooth mesh, and to many other mesh networking standards as well, and may be implemented with the purpose to improve the performance of a mesh network. Figure 3 shows the performance using an adaptive repetition according to embodiments herein, the service ratio is close to 100% for all evaluated cases and the delay has low jitter.

Figure 4 depicts an example of a mesh network 100 in which embodiments herein may be implemented. The mesh network 100 implementing embodiments herein may comprise one or more RANs and one or more CNs. The mesh network 100 may use a number of different technologies, such as e.g. Bluetooth mesh networks, ZigBee networks or Thread networks, just to mention a few possible implementations.

Network nodes 110 operate in the mesh network 100. The network nodes 1 10 receive and send messages over radio links in the mesh network A message may be sent from a network node being a source network node 110, 111 , via network nodes being relay network nodes 110, 112 to the network node being a destination network node 110, 113. The network nodes 110, 11 1 , 112, 113 may be devices such as wireless devices which means any terminal, wireless communication terminal, user equipment, Machine Type Communication (MTC) device, Device to Device (D2D) terminal, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a small base station communicating within a cell. The network nodes 1 10, 1 11 , 1 12, 1 13 may be a transmission and reception point e.g. a radio access network node such as a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP STA), an access controller, a base station, e.g. a radio base station such as a NodeB, an evolved Node B (eNB, eNode B), a 5G base station such as a gNB, a base transceiver station, a radio remote unit, an Access Point Base Station, a base station router, a transmission arrangement of a radio base station, a stand-alone access point or any other network unit capable of communicating with a wireless device within the service area served by the network nodes 110, 112 depending e.g. on the first radio access technology and terminology used.

Methods for transmitting a message in a mesh network 100 to a destination node 1 13, is performed by the network node 110, 11 1 , 112. As an alternative, a Distributed Node (DN) and functionality, e.g. comprised in a cloud (not shown), may be used for performing or partly performing the methods. An example object of embodiments herein is to choose the ideal amount of repetitions for each transmitted message in the mesh network 100. Performing more repetitions will increase the probability of the individual message to be received correctly, but it also has the drawback that it will cause more interference, especially in a deployment where the relay node 110, 112 density is high. Thus there is a trade-off between ensuring that an individual message reaches its destination and causing interference to other nodes.

Embodiments herein introduce a method where each network node 1 10, 1 12 may use relaying transmissions from other network nodes to assert that the message has reached the mesh network 100, and that it will be forwarded, and does therefore not need to be repeated any more. The source nodes 110, 11 1 overhears transmissions to assure that the message has been successfully injected into the mesh network 110, while relay nodes overhear transmissions to assure that the message has made further progress into the network. The wording injected when used herein means that a transmission from the source node 1 10, 1 11 has successfully reached any relay node belonging to the mesh network 100.

Example embodiments of a method performed by a network node 110, 11 1 , 112 for transmitting a message in a mesh network to a destination node 1 13, will now be described with reference to a flowchart depicted in Figure 5.

Embodiments herein comprise a method where source and relay nodes in mesh networks such as e.g. Bluetooth mesh networks, adaptively repeat messages using received copies of the same message as decision basis. Thus the actions may be performed by the network node 1 10, 1 11 , 1 12 when being a source network node 110, 1 11 and by the network node 1 10, 1 11 , 1 12 when being a relay node 1 10, 1 12. The source node 1 10, 11 1 e.g. repeats messages until the overheard messages indicate that the message has been successfully injected into the network, or until the maximum number of repetitions have been reached, while the relay node 1 10, 1 12 repeat messages until overheard messages indicate that the message has progressed further into the network or until the maximum number of repetitions have been reached.

First the embodiments wherein the actions performed by the network node 110, 1 11 , 1 12 when being a source network node 110, 11 1 will be described together with Figure 5. The network node is here referred to as the network node 1 10, 1 11 and the source node 1 10, 1 11 interchangeably. This will be followed by the embodiments wherein the actions performed by the network node 1 10, 1 11 , 1 12 when being a relay node 1 10, 1 11 will be described together with Figure 5.

5

The network node 110, 111, 112 being a source node 110, 111

The optional actions 501-502 are not performed by the source network node 110, 1 11 and are therefore not described here but will be described below. Thus in these embodiments wherein the network node 1 10, 1 11 , 1 12 is a source node 1 10, 1 11 , the 10 method starts with Action 503. The method comprises the following actions, which actions may be taken in any suitable order.

Action 503

The network node 110, 11 1 , transmits the message addressing the destination node 15 1 13. The transmitted message or relevant parts of may be saved in the network node 110, 11 1 , e.g. in a database or memory so that the network node 110, 11 1 can compare with messages received during the first time interval and identify if the received message is a copy of the transmitted message.

In some of these embodiments wherein the network node 1 10, 1 11 , 1 12 is a source 20 node 110, 11 1 , the transmitting of the message addressing the destination node 113 is performed directly after the message is received form higher layers. This is to minimize delay.

Action 504

25 To be able to repeat to transmit the message until overheard messages indicate that the message has been successfully injected into the mesh network 100, or until the maximum number of repetitions have been reached in an efficient way, the network node 1 10, 1 11 , scans if any message considered to be a relayed copy of the transmitted message is received during a first time interval. This may be performed by comparing the

30 transmitted message which may have been saved , see above, with messages received during the first time interval and identify if the received message is a copy of the transmitted message.

The duration of the first time interval may e.g. be 100 ms, but will typically depend on, e.g., application requirements and the capabilities of the Mesh network. The message may e.g. be a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received. Action 505

When no message considered being a relayed copy of the transmitted message is received during the first time interval, the network node 1 10, 1 11 , repeats transmitting the message addressing the destination node 1 13. This is since, when no message received during the first time interval is considered to be a relayed copy of the transmitted message, the transmitted message is deemed not to be successfully injected. This means that the message transmitted from the source node 110, 11 1 has not reached any relay node belonging to the mesh network 100, and therefore shall be repeated according to embodiments herein.

Thus, when no message received during the first time interval is considered to be a relayed copy of the transmitted message, this is interpreted as a non-acknowledgement, i.e. that the message has not been received by the mesh network 100, and more repetitions will need to be made.

In some embodiments, the repeating to transmit the message addressing the destination node 1 13 is not performed when a repetition count threshold is exceeded.

Action 506

When a message considered to be a relayed copy of the transmitted message is received during the first time interval, the network node 110, 11 1 , decides to not repeat transmitting the message addressing the destination node 1 13. The message is then considered to be injected. This is since, when a message received during the first time interval is considered to be a relayed copy of the transmitted message, the transmitted message is deemed to be successfully injected. This means that the message transmitted from the source node 110, 11 1 has reached at least one relay node belonging to the mesh network 100, and therefore shall not be repeated according to embodiments herein.

Thus, when a message received during the first time interval is considered to be a relayed copy of the transmitted message, this is interpreted as an acknowledgement that the message has been received by the mesh network 100, and more repetitions will not need to be made. Below, embodiments of the actions performed by the network node 110, 11 1 , 112 when being a relay node 110, 112 will be described together with Figure 5. The network node is here referred to as the network node 110, 112 and the relay node 1 10, 1 12 interchangeably.

5

The network node 110, 111 , 112 being a relay node 110, 112

The method comprises the following actions, which actions may be taken in any suitable order.

10 Action 501

This action is an optional action and may be performed when the network node 110, 1 11 , 112 is a relay node 110, 112. In an example scenario the source node 110, 11 1 has already injected the message as described above and the method described below is started with the relay node 1 10, 1 12 receiving the message from the source node 110, 15 1 11 or another relay node 110, 112 in action 501. The network node 1 10, 1 12 thus

receives the message addressing the destination node 113, which message is originating from the source node 11 1.

Action 502

20 This action is an optional action and may be performed when the network node 110, 1 11 , 1 12 is a relay node 110, 112. During a second time interval, the network node 110, 1 12 scans if any message considered being a relayed copy of the transmitted message is received. This is performed in order to determine if any other relay nodes in the vicinity relays the message.

25 It should be noted that in these embodiments, wherein the network node 1 10, 1 11 ,

1 12 is a relay node 1 10, 1 12, the second time interval referred to in this action 502, occurs before the first time interval referred to in action 504. The wordings "first" and "second" are just used to differentiate the two time intervals from each other and have nothing to do with the order they happen.

30 The duration of the second time interval may e.g. be 50 ms, but will typically depend on the capabilities of the Mesh network and the network configuration.

Action 503

When no message considered being a relayed copy of the transmitted message is 35 received during the second time interval the network node 1 10, 1 12 transmits the message addressing the destination node 113. The transmitted message or relevant parts of it may be saved in the network node 1 10, 1 12 so that the network node 1 10, 1 12 can compare with messages received during the first time interval and identify if the received message is identical with the transmitted message. The network node 110, 112 may save the message already in Action 501 , when the network node 110, 1 12 receives the message.

Action 504

During a first time interval, the network node 1 10, 1 11 , 112 scans if any message considered being a relayed copy of the transmitted message is received.

The message may e.g. be a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received.

As mentioned above, it should be noted that in these embodiments, wherein the network node 110, 11 1 , 112 is a relay node 110, 112, the second time interval referred to in action 502, occurs before the first time interval referred to in this action 504.

Action 505

When no message considered being a relayed copy of the transmitted message is received during the first time interval, the network node 1 10, 1 11 , 112 repeats transmitting the message addressing the destination node 1 13. This is since, when no message received during the first time interval is considered to be a relayed copy of the transmitted message, the transmitted message is deemed to not having reached any relay node or destination node 1 10, 1 13 belonging to the mesh network 100, and therefore shall be repeated according to embodiments herein.

Thus, when no message received during the first time interval is considered to be a relayed copy of the transmitted message, this is interpreted as a non-acknowledgement, i.e. that the message has not been received by the mesh network 100, and more repetitions will need to be made.

In some embodiments, the repeating to transmit the message addressing the destination node 1 13 is not performed when a repetition count threshold is exceeded.

Action 506 When a message considered to be a relayed copy of the transmitted message is received, the network node 1 10, 11 1 , 112 decides to not repeat transmitting the message addressing the destination node 1 13. The message is then considered to be successfully transmitted. This is since, when a message received during the first time interval is considered to be a relayed copy of the transmitted message, the transmitted message is deemed to having reached at least one relay node or destination node 1 10, 1 13 belonging to the mesh network 100, and therefore shall not be repeated according to embodiments herein.

Thus, when a message received during the first time interval is considered to be a relayed copy of the transmitted message, this is interpreted as an acknowledgement that the message has been received by the mesh network 100, and more repetitions will not need to be made.

The advantages of the above methods are that by knowing that the message has reached one or several other nodes in the Mesh network, the transmitting node, such as the network node 110, 11 1 , 112, can handover the responsibility of the message to these nodes and there is no need for the transmitting node to repeat the transmission further. In this way, unnecessary repetitions are avoided, which in turn reduced the traffic in the Mesh network and lowers the interference. The end result is improved performance, e.g., in terms of increased message delivery rate and reduced delay. In addition, knowing early on that the transmission were not picked up by any node in the Mesh network facilitates the transmitting node, such as the network node 110, 11 1 , 1 12, to quickly decide that the message should be retransmitted without waiting for any acknowledgement from the destination node. The mechanism is distributed and the decision may be taken locally by the transmitting, node such as the network node 110, 11 1 , 112.

Figure 6 is a schematic block diagram illustrating embodiments of the network node 1 10, 1 11 , 1 12 and will be referred to below. To perform the method actions for transmitting a message in a mesh network 100 to a destination node 113, the network node 110, 11 1 , 112 may comprise the following arrangement depicted in Figure 6.

The network node 110, 11 1 , 112 for transmitting a message in a mesh network 100 to a destination node 113, the network node 1 10, 1 11 , 112 is configured to: e.g. by means of a transmitting module 610 configured to, transmit, the message addressing the destination node 1 13,

during a first time interval, e.g. by means of a scanning module 620 configured to, scan if any message considered to be a relayed copy of the transmitted message is received,

when no message considered to be a relayed copy of the transmitted message is received during the first time interval, e.g. by means of a repeat transmitting module 630 configured to, repeat to transmit the message addressing the destination node 113, when a message considered to be a relayed copy of the transmitted message is received, e.g. by means of a deciding module 640 configured to, decide to not repeat transmitting the message addressing the destination node 1 13.

According to some of these embodiments, a message is adapted to be a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received.

According to some embodiments wherein the network node 110, 11 1 , 1 12 is a relay node 112, the network node 1 10, 1 11 , 112 further being configured to:

e.g. by means of a receiving module 650 configured to, receive the message addressing the destination node 113, which message is originating from a source node 1 11 ,

during a second time interval, e.g. by means of the scanning module 620

configured to, scan if any message considered to be a relayed copy of the transmitted message is received,

when no message considered to be a relayed copy of the transmitted message is received during the second time interval perform the transmission of the message addressing the destination node 1 13, e.g. by means of the configured transmitting module 610. According to some embodiments, the network node 110, 1 1 1 , 1 12 is further configured to not perform repeat to transmit the message addressing the destination node 1 13 when a repetition count threshold is exceeded, e.g. by means of the configured repeat transmitting module 630.

According to some of these embodiments, wherein the network node 110, 11 1 , 112 is a source node 1 11 , the network node 110, 11 1 , 1 12 further is configured to e.g. by means of the transmitting module 610 configured to, transmit, the message addressing the destination node 1 13 is performed directly after the message is received form higher layers.

The network node 1 10, 1 11 , 1 12 may comprise a communication module 660 configured to communicate with any source node 1 10, 11 1 , relay node 110, 112 and/or destination node 1 10, 113. The communication module 660 may comprise a wireless receiver (not shown) and a wireless transmitter (not shown).

The embodiments herein for transmitting a message in a mesh network 100, the network node 1 10, 11 1 , 112, may be implemented through respective one or more processors, such as the processor 670 of a processing circuitry in the the network node 1 10, 1 11 , 1 12 depicted in Figure 6, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the network node 110, 1 11 , 1 12. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the network node 110, 1 11 , 1 12.

The network node 1 10, 1 11 , 112 may further comprise a memory 680 comprising one or more memory units. The respective memory comprises instructions executable by the processor in the network node 110, 1 11 , 1 12.

The memory 680 is arranged to be used to store e.g. information about assigned resources, data, configurations, and applications to perform the methods herein when being executed in the network node 110, 11 1 , 112. Those skilled in the art will also appreciate that the modules in the network node 1 10, 11 1 , 112 described above may refer to a combination of analog and digital circuits, and/or one or more processors configured with software and/or firmware, e.g. stored in the respective memory in the network node 110, 1 11 , 1 12, that when executed by the respective one or more processors such as the processors described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuitry (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a system-on-a-chip (SoC).

Further explanations and examples.

Note that the wordings "network node 110, 11 1" the "source node 1 10, 11 1", the "source network node 1 10, 1 11" and the "source network node 1 11" may be used interchangeable herein.

Further, note that the wordings "network node 1 10, 1 12", the "relay node 110, 112", "relay network node 1 10, 1 12" and the "relay node 1 12" may be used interchangeable herein. Figure 7 shows a flowchart illustrating an example of a behavior of the source node

1 10, 11 1 that intends to transmit a message to another node, the destination node 110, 1 13 within the same mesh network 100.

Please also see Figure 5. When the message is received 701 from higher layers in the source node 110, 11 1 , the source node 110, 11 1 shall instantly perform the first transmission 702, 503. This may be performed instantly since low delays are favorable and delaying the transmission will not affect chance of successful delivery. The message is then stored for possible later retransmission.

After performing the transmission 702, the source node 1 10, 1 11 shall wait for a first time interval such as e.g. a fixed repetition interval, T, plus a randomized time, t, before performing the next transmission. The randomized time, t, may be added to decorrelate the transmissions in time with other repeating transmissions that it may collide with, such as e.g., transmissions from other source nodes or relay nodes whose transmissions collided with the first transmission from the source node 110, 11 1 , and are now also retransmitting their message. During the first time interval also referred to as the waiting time, the source node 1 10, 1 11 shall keep scanning 703, 504 for incoming messages.

The source node 1 10, 1 11 then decides 704 whether or not incoming messages are considered to be a copy of the transmitted message. This may be performed by looking at message characteristics of the incoming messages, such as source, sequence number and/or time to live. If messages are considered to be a copy of the transmitted message 705, 506 such as e.g. with the same source and sequence number as the transmitted message are received during the first time interval, this is interpreted as an acknowledgement that the message has been received by the network, and more repetitions will not need to be 5 made. This may be decided by the source network node 110, 11 1.

If no copies of the same message are received 706, 505 during the first time interval, the source node 110, 11 1 shall repeat the transmitting 702 and scanning 703 until copies are heard or until the number of performed transmissions reaches a configured maximum value.

10 For each repeating of the transmission a repetition count may be increased 707 by one. The message may not be repeated any more when a repetition count threshold 708 is exceeded 709.

A slight variation of the scheme in Figure 7 is that the source node 1 10, 1 11 may set the threshold for message repetition to an arbitrary value, here denoted Ns. A message 15 will then be repeated unless at east Ns copies of the message have been overheard from the network during the observation time T+t. NS may take any integer value greater than 0, and the source node may determine the value of Ns based on knowledge of the number of relay nodes that are within single-hop communication range.

20 Figure 8 shows a flowchart describing the behavior of the network node when being a relay node 1 10, 1 12. Please also see Figure 5. The algorithm shall act in a manner similar to what is described for a source network node 1 10, 1 11 , however, with the following exceptions: The message received 801 from the source network node 110, 11 1 maybe via other relay network nodes 110, 112, e.g. via lower layers of the relay network

25 node 110, 112. The transmission shall also be delayed 502 with a second time interval such as e.g. a random time, t 802 before performing first transmission 803, 503. As mentioned above, it should be noted that in these embodiments, wherein the network node 110, 11 1 , 112 is a relay node 1 10, 1 12, the second time interval referred to in action 502 and 802, occurs before the first time interval referred to in action 504 and

30 803. Optionally the relay network node 1 10, 1 12 may also inspect the TTL of the

overheard messages and compare these to the TTL used when transmitted the message, in order to conclude if the message has made further progress into the network.

After performing the transmission 803, 503, the relay network node 110, 112 shall wait for a first time interval such as_a fixed repetition interval, T, plus a randomized time, t,

35 before performing the next transmission. The randomized time, t, is added to decorrelate the transmissions in time with other repeating transmissions that it may collide with.

During the waiting time, the node shall keep scanning 804, 504 for incoming messages.

The relay network node 1 10, 1 12 then decides 805 whether or not incoming messages are considered to be a copy of the transmitted message.

5 If messages received during the first time interval are considered to be a copy of the transmitted message 806, 506 such as e.g. with the same source and sequence number as the transmitted message are received, this is interpreted by the relay network node 110, 112 as an acknowledgement that the message has been received by the mesh network 100, and more repetitions will not need to be made. This may be decided 506 by

10 the relay network node 1 10, 1 12.

If no copies of the same message are received 807, 505, during the first time interval the relay network node 110, 112 shall repeat the transmitting 803 and scanning 804 incoming messages until copies are heard or until the number of performed transmissions reaches a configured maximum value.

15 For each repeating of the transmission a repetition count may be increased 808 by one. The message may not be repeated any more when a repetition count threshold 809 is exceeded 810.

Some slight variations of the relay network node 1 10, 1 12 repetition scheme are possible. First, the relay network node 1 10, 1 12 may scan for messages also during the

20 time between receiving the message from lower layers and transmitting the message.

Since other relay nodes in the vicinity that forward the same message may schedule their transmission at an earlier time. Overheard copies also during this time period indicate that several other relay nodes are helping out to forward the message. Furthermore, for a relay network node 1 10, 1 12 that is "last in line" i.e. the last node before reaching the

25 destination node 110, 113, all neighbor relay network nodes 1 10, 1 12 have already

forwarded the message and will not forward the message again, hence no message copies can be expected to be overheard after transmitting the message.

A second alteration is that the relay network node 110, 112 only records copies of the message that have a TTL lower than the TTL used by the relay network node 110,

30 1 12 itself when forwarding the message, and uses this when deciding if the message should be repeated or not. This is since copies having a higher TTL or the same TTL as used by the relay network node 1 10, 1 12 are not transmissions that follow from having picked up the message from this particular relay network node 1 10, 1 12, but have travelled other paths in the network. A lower TTL, on the other hand, indicates that neighboring relay nodes have picked up the message and forwarded it deeper into the mesh network 100.

Embodiments herein may use the received copies of a previously transmitted message as acknowledgements to that transmission. This is used to avoid unnecessary repetitions of transmissions and reduce congestions of packets over the channel. The source network node 1 10, 1 11 acts to assure that a transmitted message has been successfully injected into the mesh network 100. This can be assured since relayed copies of the same message have been detected.

While relay network nodes 1 10, 1 12 act to assure that a forwarded message has been picked up by neighbor relay nodes and progressed further into the mesh network 100. This can be assured since relayed copies of the same message have been detected, the time to live of the messages may be used to indicate that the detected copies stem from later hops.

Below some example Embodiments 1-12 will be described:

The following embodiments refer to Figure 4 and Figure 5.

Embodiment 1. A method performed by a network node 1 10, 1 11 , 1 12 for transmitting a message in a mesh network 100 to a destination node 113, the method comprising:

transmitting 503 the message addressing the destination node 113,

during a first time interval, scanning 504 if any message considered being a relayed copy of the transmitted message is received,

when no message considered being a relayed copy of the transmitted message is received during the first time interval, repeating transmitting 505 the message addressing the destination node 113,

when a message considered being a relayed copy of the transmitted message is received, deciding 506 to not repeat transmitting the message addressing the destination node 1 13.

Embodiment 2. The method according to Embodiment 1 , wherein the network node 110, 11 1 , 112 is a relay node 1 12, the method further comprising: receiving 501 the message addressing the destination node 1 13, which message is originating from a source node 1 11 ,

during a second time interval, scanning 502 if any message considered being a relayed copy of the transmitted message is received,

when no message considered being a relayed copy of the transmitted message is received during the second time interval performing the transmitting 503 of the message addressing the destination node 1 13,

Embodiment 3. The method according to any of the Embodiments 1-2, wherein repeating transmitting 505 the message addressing the destination node 1 13 is not performed when a repetition count threshold is exceeded.

Embodiment 4. The method according to Embodiment 1 , wherein the network node 110, 11 1 , 1 12 is a source node 11 1 , and wherein transmitting 503, the message addressing the destination node 113 is performed directly after the message is received form higher layers.

Embodiment 5. The method according to any of the Embodiments 1-4, wherein a message is a relayed copy of the transmitted message when it is indicated by any one or more out of: the same source node, the same sequence number, and a smaller time to live as the transmitted message is received.

The following embodiments refer to Figure 4 and Figure 6.

Embodiment 6. A computer program 690 comprising instructions, which when executed by a processor 670, cause the processor 670 to perform actions according to any of the Embodiments 1-5.

Embodiment 7. A carrier 695 comprising the computer program of Embodiment 6, wherein the carrier is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.

When using the word "comprise" or "comprising" it shall be interpreted as non- limiting, i.e. meaning "consist at least of". The embodiments herein are not limited to the above described preferred embodiments. Various alternatives, modifications and equivalents may be used.

ABBREVIATIONS

Abbreviation Explanation

BLE Bluetooth Low Energy

TTL Time to live

CDF Cumulative distribution function

UE User Equipment