1 Introduction

Smart devices, which communicate with each other and are part of the Internet of Things or IoT, become more and more popular. Advanced Metering Infrastructure (AMI) is a popular application of IoT devices, deployed to monitor the energy or water use. The IoT devices passing data from physical objects to the digital world are more and more widely used. The IoT networks consist of thousands of devices, creating a complex, multihop network. This causes increasingly stronger need to develop methods for the management of large networks of relatively simple devices, and need of development of reliable communication method for them. It is important to propose effective methods for broadcast and multicast communication, as sending messages, directed to all nodes or big groups of nodes is a popular case in AMI and IoT networks.

IoT networks differ in theirs specifics. Depending on their purpose, their topology may be static or dynamic. The number and location of nodes also may vary, which results in different characteristics of connection graph – dense or sparse, uniform or clustered. The source of power (battery or power line) is also the factor influencing chosen methods of communication. Most of the multicast and broadcast transmissions is directed from the designated central point to all nodes and from single node (unicast) to the central point.

The multicast or broadcast transmission in multihop wireless networks requires the selection which nodes shall forward messages and act as intermediate point of communication, forwarding packets coming from other nodes (referenced as forwarders in further part of the paper). The remaining nodes are only receiving messages and act as the communication endpoint. The selection which nodes should forward the data and which should only receive it is a challenging task. A few algorithms have been proposed in the literature, however previous papers refer to a simple topologies with small average number of neighboring nodes (2–5). In wireless AMI networks the average number of nodes to which a node can communicate is considerably higher [8].

The simplest solution for broadcast transmission is flooding, the concept in which every incoming packet is sent through every outgoing link except the one it arrived on [9]. Flooding utilizes every path through the network, so it guarantees 100 % cover (if link transmissions are 100 % reliable) and it will also use the shortest path. This algorithm is also very simple to implement but has disqualifying disadvantages: can be costly in terms of wasted bandwidth and can impose a large number of redundant transmissions. Flooding is also not practical in dense networks, as it greatly increases the required transmission time [4].

Another method is to select the Connected Dominant Set (CDS) of nodes (forwarding nodes, forwarders). It was proved [2] that the optimal selection of CDS is a NP hard problem even if the whole network topology is known. The forwarder can be selected dynamically or statically [5]. In the static approach a global algorithm determines the status (forwarder/non forwarder) of each node and the level is set. In the dynamic approach the status is decided “on-the-fly” based on local node information, and the state can be different for every transmitted message. In the [5] interesting algorithm was presented using static approach and local topology information, however the node position information is assumed.

In this work we concentrate on an AMI network use case, with meters communicating by wireless interfaces. Meters are located within the buildings and they have a power supply. Changes in placement of sensor nodes are rare and done under control of network operator, so there is no need of automatic reconfiguration of network topology. There are no limitations of battery power, but it is the necessity of reliable communication and possibly optimal usage of network resources (bandwidth). We assume that a designated control node is distinguished, which typically has the access to a backhaul interface and forwards the traffic to and from the Internet to the AMI network.

We propose a novel algorithm (Global queue pruning) for forwarding nodes selection, which outperforms the solutions available in the literature. The proposed algorithm is compared to the three representative methods of forwarding nodes selection and evaluated through an extensive simulation study. Previous studies on multicast algorithm pointed also the disadvantages of the popular broadcast solution for RPL protocol (IP level multicast). The main problem is, that RPL it not designed to fit the specific of our network (root to sensor traffic) [10]. The RPL broadcast results in many overlapping transmission (particularly problematic for dense urban area where the level of overlap is high). To address the needs of our network we decided to control the message forwarding on the application level to replace the RPL build in the 6lowPAN protocol and their multicast mechanism.

2 The Problem Formulation

The layer 2 protocols determine the connectivity between nodes in the wireless network. This defines the topology of a network. In wireless sensor networks to send a message between two distant nodes it is usually necessary to use the intermediate nodes. The path of communication is composed of a sequence of such intermediate, forwarding nodes, called forwarders. Forwarders receive messages and under conditions of given algorithm, can retransmit it. Every forwarder in the network can be described by a level. The level is the number of hops from a central point to a node in the range of the forwarder. The forwarder level 0 is central control point – original source of broadcast messages or final receiver of messages from the nodes (Fig. 1).

Fig. 1.
figure 1

Process of creating logical topology and selecting forwarder’s nodes

Connected forwarders, from lower levels to higher create the logical topology of the network (spanning tree called Connected Dominant Set [5]). This set can be used both to the unicast, selective multicast and broadcast communication from control node to all nodes in the network. It is possible to distinguish more than one path, according to different selection of forwarders it is possible to compare the resulting logical topologies. The simplest metric to compare different topologies created in given network, used in this article, is the highest level of the forwarder in the path, what is equal to the maximum number of hops in the network. The average forwarder level is proportional to the average time of message propagation. We assume that the topology is determined in an initialization phase, in which the forwarders are selected which precedes the actual communication phase.

The goal of this work is to define method for “near to optimal” selection of the forwarders. A forwarder may only forward a packet once (to avoid infinite loops) and all nodes shall receive the packet in no-failure conditions (the forwarders don’t fail and the topology of connections don’t change during the transmission). The assumption is to achieve minimum broadcast overhead, respecting the possible nodes and link failures and to support the selective broadcast and multicast.

3 Reference Solutions

There are several solutions that can be used to route messages in the network and to select the forwarders. Besides the mentioned above flooding algorithms, there is a number of more complex and efficient methods. Some methods are based on the location knowledge (e.g. position for GPS signal), but those methods are not subject of analysis, as it was not assumed that the location information is detailed enough to be used and is available. Another group of methods is based on the neighbour knowledge methods. Knowing the neighbourhood of a node can be used to select a forwarders. Two approaches are possible: local (only local, or 2 hops neighbourhood is known) and global (the global information about nodes neighbourhood is known). Using the probabilistic methods it is possible to distinguish a set of forwarders, in which the randomization is used to decide on the packer retransmission (forward). We decided to implement the three reference solutions: one example of probabilistic method: counter based (CB) [3] and two neighbour knowledge methods: scalable broadcast algorithm (SBA) [1], dominant pruning (DP) [6].

3.1 Counter Based

The method is executed locally on every node in the network. It has two parameters: \(T_{RAD}\) and C. When new packet is received, time \(T = (0..T_{RAD}]\) is drawn. Within T the packet counter c is incremented when duplicates of the packet are received. Then, if \(c<C\), the packet is retransmitted.

As the method works locally it has very low overhead on additional communication (depends on parameters) and can cope with dynamic changes in the topology (e.g. mobile nodes). The drawback is that the method doesn’t guarantee the full network coverage and may select forwarders in such a way, that part of the network will not receive traffic. The C and \(T_{RAD}\) parameters can by adjusted. The bigger C leads to better network cover, but also to more forwarders and more messages duplicates. If C = \(\infty \) (practically “large enough”) the algorithm works as flooding. Bigger \(T_{RAD}\) also leads to better coverage but also increase the time of message delivery. The method doesn’t assume to create the logical topology, because the decision on packet retransmission can be taken after receiving each packet, but it leads to decreasing the transmission delays. In the evaluation we used the counter based methods to select the forwarders in the initialization phase only. The first choose of each node to retransmit the packet results in selecting that node as one of forwarders (Fig. 2).

Fig. 2.
figure 2

(a) The counter based method used to packet retransmission, (b) The example of logical topology created using CB method, with some unconnected nodes

3.2 Scalable Broadcast Algorithm (SBA)

The algorithm works locally and assumes that every node knows its direct (1-hop) neighbour list. It uses one parameter \(T_{RAD}\). When new broadcast packet is received, a time \(T = (0..T_{RAD}]\) is drawn. Every packet header contains sender’s neighbours list. Receiver analyses packets, incoming within time T. After T, if there are still nodes in the range that not received packets, the node forward a packet. 100 % cover is guaranteed and the algorithm exhibit good scalability properties as the network size increases. Similarly as CB in the evaluations we assumed the initial phase, in which the first decision of forwarders selection is saved and used for next transmissions. The characteristic of the SBA method is the necessity to transmit the list of neighbours, thus the overhead increase in compare to the CB.

3.3 Dominant Pruning Method

The method utilizes 2-hop neighbourhood information to reduce redundant transmissions. A forwarder, knowing the full 2-hop topology, selects the set of next forwarders among its 1 hop neighbours, to achieve the full cover of all nodes within 2-hop range. Then all designated forwarders repeat that step. This method is called DP local. The forwarders selection is solved as a minimal covering set problem. The optimal solution is a NP-complete problem (N! combinations to check), but the amount of nodes to analyse is usually small. 100 % network cover is guaranteed. The disadvantage is that in relatively large number of forwarders. The overhead on communication is relatively big (necessity to send the list of 2hop neighbours) (Fig. 3).

Fig. 3.
figure 3

(a) The Scalable Broadcast Algorithm used to select a forwarder node, (b) The example of logical topology created using SBA method

The method can be also considered as local, but the synchronization is needed. It can be implemented using a token to assure that only one forwarder is able to perform the selection operation The DP method can be implemented using recursive selection of forwarders (DP deep). The forwarder is selected, which has the largest coverage. It sets its best forwarder, and so on (deep selection). When full cover is achieved the decision goes back to the forwarder on higher level. As the result the less number of forwarders is achieved but the patches from first node to subsequent nodes (first forwarder) are longer (Fig. 4).

Fig. 4.
figure 4

Deep selection of forwarders in DP method

4 The Global Queue Pruning Method

As the stable physical topology in the long term was assumed and the known, designated control point is selected, we decide to propose the new, global approach. It was expected to have significantly “better” topology at the expense of the communication cost in the initialization phase. We propose a novel method, called Global queue pruning (GQP). It is based on dominant pruning, but the designation of forwarders is global (done e.g. by a server or central node) and is based on a queue of potential forwarders. In the initial phase every node sends to the known, control node the list of its 1hop neighbours. The global queue of potential forwarders is created, arranged by the weight. At the beginning every node is a potential forwarder as it can be considered as the forwarder. The weight in the queue is calculated as a function:

$$\begin{aligned} \mathrm{[ht]}~weight = f(cover, rank) \end{aligned}$$

Cover is the number of neighbours and the rank means the distance from the central node. The node with greatest weight value is designated as forwarder. Selection of a forwarder influences on the nodes in the queue (queue is rearranged) by reducing its cover according to the number of neighbours covered by the already selected forwarders (Fig. 5).

Fig. 5.
figure 5

Selection of forwarders from the list of potential forwarders in the queue

Using the presented global approach it is expected to obtain 100 % coverage with lower number of forwarders, shorter and adjustable paths (by influencing on the weight function), high scalability and fault tolerance. The algorithm has also the potential for improvements (e.g. by some refinement phases, and developing more complex weight function). The drawback is the high communication overhead (necessity of sending the neighbour list to the designated node), thus the algorithm is worth to be implemented only in case that topology is relatively stable.

5 Performance Evaluation

The evaluation aim is to compare the reference algorithms (CB, SBA, DP) to the newly developed GQP and to compare the strategy of local and global designation of forwarders (efficiency, fault tolerance, scalability and cost). We used the topology generator described in [7]. The generator includes also DES simulator, statistics, logs and the support for the automatization of evaluations. The methodology is as follow:

  1. 1.

    The generator generates physical topology (random distribution of nodes, but subsequent nodes were located randomly, but within the range of existing nodes, what theoretically guarantee the connectivity between nodes)

  2. 2.

    Based on the physical topology an algorithm was run to designate forwarders. Thus the logical topology was created (in a form of logical tree)

  3. 3.

    The broadcast communication (from central, designated node to all nodes) was simulated to obtain a result for a single broadcast communication. The simulation phase was necessary because the communication during broadcast is possible along the paths different than according to the logical path in the tree. Nodes can receive duplicates e.g. in case if there are in the range of two or more forwarders.

The area of N\(\times \)N m was analysed. The parameters were: N, number of nodes K, minimal distance between nodes Dmin, maximum distance Dmax, radio range R. It was also possible to adjust the average number of neighbours Navg. In such case the Dmax parameter was calculated automatically. The assumed parameters were: \(N=1000\) m, \(K=100..500\), \(D_{min}: 5\) m, Node Range: 200 m.

All described above algorithms were evaluated (CB, SBA, DPlocal, DPdeep, GQP). For each of them 200 simulations were carried out (for different physical topologies). Results present the averages (Fig. 6).

Fig. 6.
figure 6

The example of topology. The purple lines indicates the logical topology, the pink lines indicates the physical connections (Color figure online)

5.1 The Average Number of Hops

The number of hops is an important parameters that influences of the delays in communications, and especially in ad-hoc or grid network on the energy consumption (the longer the path are, the more resources are used by the intermediate node to deliver message. The results are presented on Fig. 7.

Fig. 7.
figure 7

Average number of hops as a function of total number of nodes

As it is presented, the average number of hop is relatively stable while the number of nodes increase, because the area and radio range remains unchanged. Only the number of nodes in the range of a forwarder is increasing, what doesn’t influence on the number of hops. In case of DPdeep method the number of hops is significantly higher, as the result of recursive method of selecting forwarders.

5.2 The Number Nodes per Forwarder and Number of Forwarders

Generally the lower the number of forwarders is, the more optimal logical topology is created. Less forwarders generate smaller communication overhead, less number of duplicates etc. The figures below present two results: the number of forwarders and number of nodes within the range of a forwarder (Fig. 8).

Fig. 8.
figure 8

The average number of nodes within the range of a forwarder and the number of forwarders in a function of number of nodes

As presented, the less number of forwarders was selected in case of GQP method, than SBA, DPdeep, CB, SBA and DPlocal.

6 The Cost of Algorithms

The cost reflects the communication overhead to create a logical topology and designate the set of forwarders. The calculated value is proportional to the amount of information (in bytes) that has to be sent in the initialization phase. The cost includes the local communication (between neighbours) and global communication with designated control node. The calculations includes the parameters:

figure a

In case of analysed algorithms the cost can be expressed as follows:

figure b

The Fig. 9 presents the comparison of costs:

Fig. 9.
figure 9

The comparison of algorithms costs

As it is presented the cost of GQP algorithms is significantly greater than in all remaining methods and it grows geometrically with the number of nodes.

7 Conclusions

The proposed Global Queue Pruning GQP algorithm creates the logical topology that consists of considerably lower number of forwarding nodes in comparison to the three other commonly used methods, evaluated in the paper: Counter Based, Scalable Broadcast and Dominant Pruning. The paths generated by the GQP are relatively short and guarantee the delivery to all the nodes in the network. The important drawback is the communication cost to create the topology in the initialisation phase. In case of stable physical topology and the communication based on one designated control node the GQP algorithm is worth to be considered.