The expression “every Internet-connected thing is alive” will be a novel rule in near future. Future networks are merely IoT, toward which all researches will soon be converged. Similar to the procedure of using Internet by humans; from now on, new devices will be the main users of Internet ecosystem. The attention of recent researchers have been devoted to newly emerged technologies for manufacturing scalable IoT. However, the speed of comprehending the IoT framework has been decremented due to a number of factors, among which the combination of different devices, secure connections, trust management, and the collaboration between devices and systems are highlighted. Such devices collaborate with each other in order to aggregate, share, and conduct information in a multi-hop manner. The bulk of information continuously generated by IoT necessitates the conversion of aggregated data into intelligence. Such intelligent environment can play a vital role in data routing of networks. The consistent mobility of most of IoT nodes leads to the alternative communication between devices, and a variable network topology as a result. Due to such frequent topology variations as well as the limited resources existing in today’s IoT devices, routing scheme of such networks is currently regarded as a significant challenge in research world.
Coverage, sensing, connection and communication of each node in IoT requires the expenditure of energy and cost. As IoT equipments are becoming more and more portable and smaller, the energy limitation of such equipments is a consequential and challenging issue to be addressed
. Thus, prolonging the lifetime of network nodes in order to provide long-term monitoring is considered as one of the staple goals of myriads of IoT protocols. On the other hand, as the rate of the generated and transmitted data toward the base station of network is remarkably significant, the data aggregation procedure in IoT nodes is also costly. The basic goal of data aggregation methods is to collect and classify data packets in an acceptably efficient manner in terms of energy consumption rate, network lifetime, traffic bottleneck, and data purity. The type and approach of the employed data aggregation method varies based on the topology type, communication type, network design, and data generation rate. In data aggregation procedure, if the median nodes do not perform accurately, the base station will not be able to provide a right estimation of the received data; all of which result in the efficiency decline of the network. Hence, data aggregation approaches play a momentous role in monitoring purposes as well as the long-term observation of environment. In this paper, an efficient distributed data aggregation method for IoT is proposed. Notwithstanding dozens of common approaches, calculation overhead of the proposed method is negligible. Moreover, as the network traffic varies, the proposed method still makes correct decisions automatically.
The rest of this paper is organized as follows. System model and related works regarding IoT and data aggregation methods are presented in Sec.II. In Sec.III, a novel distributed data aggregation method is proposed. Performance evaluation of the proposed method in simulation and practical environments are respectively illustrated in Sec.IV and V. Finally, Sec.VI concludes the paper.
Ii System model and related works
Ii-a Internet of Things architecture
Since IoT is to connect a considerable number of heterogenous things through Internet, this technology is significantly dependant on the existance of a flexible layer architecture. In other words, IoT is to bridge the real world and virtual world such that dynamic communication is ensured. Therefore, IoT requires a novel architecture in order to obviate the inherent challenges as well as providing acceptable scalability and Quality of Service (QoS) in desperate applications. According to the presented architectures in  and , layers of IoT are illustrated in Fig.1
Perception layer: This layer is generally known as physical or hardware layer, and is particularly allocated to sensors and edge recognizers of network. In other words, physical and environmental parameters are converted into sensed data in this layer. The output of this layer will be considered as the input of network layer.
Network layer: The main goal of this layer is to provide both direct and indirect communications between all things and IoT equipments, such that all of them are capable to send and receive data in the network. Note that the communicative infrastructures managed by network layer include all wireless communication technologies.
Middleware layer: The main task of this layer is to combine names and addresses in order to serve other components of network. In fact, programmers of IoT are endeavoring to connect heterogenous things under a communicative platform, such that a unite concept of network is created, and exchanged data in data bases can be saved and restored.
Application layer: This layer usually merges and evaluates the services provided by other layers. This layer is able to present high quality services for responding to the final user’s applications.
Business layer: Also known as management layer of all components of IoT network, is to analyze and schematize data.
Ii-B Data aggregation strategies in IoT
One of the chief motivations of utilizing data aggregation schemes in LLN networks and IoT is to decrease energy consumption and increase network lifetime . Since each network node not only has limited capacity to generate, process, and save data; but it is also responsible for data exchange of its neighbor nodes; the necessity of efficient utilization of network resources is axiomatic. Toward this goal, a number of data aggregation methods are proposed, in order to remove the redundancy of unnecessary and digressive data, and reduce communication costs as well . The process and architecture of data aggregation in LLN networks and IoT is illustrated in Fig.2
Ii-B1 Cluster-based mechanisms
In cluster-based mechanisms, network environment is divided into different clusters while each cluster comprises a number of sensor nodes. In each cluster, one node is selected as the head of all other nodes in cluster. This will not only decrease the number of transmitted packets, but it also reduces the transmission overhead and bandwidth consumption in transmissions from the cluster to base station. In , a data storage system is presented, which has an efficient functionality in terms of security, scalability, flexibility, and reliability in IoT to be used in the procedure of enormous data analysis. The proposed approach of this research is to present a distributed storage infrastructure providing scalability and reliability in IoT. Multiple data storage in the distributed system provides networks with fault tolerance, reliability, and stability. The general structure of cluster-based mechanisms is depicted in Fig.3.
Ii-B2 Centralized mechanisms
Another suggested data aggregation method in IoT is termed as the centralized method. In this method, the data existing in all other network nodes along a route is transmitted to only one node. In other words, all nodes deliver their sensed information to a single node, which is superior to other network nodes in terms of hardware features and resources. In this method, the central node generally aggregates a number of data packets and converts them into a single packet . In , an IoT communication platform is proposed, in order to support wireless sensor network nodes activity and proper data delivery rate. In this approach, while the unity of data is conserved, confidentiality and accessibility of network is taken into consideration as well. However, the complexity of this data aggregation mechanism is not evaluated in practical applications. Authors in  presented a distributed service-driven architecture to gather data from multiple nodes in various applications of IoT. This mechanism not only alleviates network traffic, but it can also be employed as a flexible mechanism to share data in disparate programs. However, the main challenge of this mechanism is the low accessibility of the central node in the network. In addition, data will be lost if breaks occur in the central node .
Ii-B3 Tree-based mechanisms
Another structure of IoT topology is based on trees. In this structure, tree construction is initiated from root node (i.e. sink node), and proceeds in a hierarchical manner to reach leaf nodes located at the final level. After the formation of network tree, leaf nodes and median nodes start sensing the parameters associated with the application type. Afterwards, through the accessible parent, each node begins exchanging and transmitting data to the root node. Nodes placed between the root node and the leaf node act as the collector of the transmitted packets from its children. One of the main goals of the tree-based structure in LLN networks and multi-hop wireless networks is to conserve energy as well as reducing hidden terminal effect in network, in that by utilizing multi-hop communication, an acceptable balance is established in energy consumption rate.
IETF group has proposed a routing scheme for low-power and lossy networks such as IoT and sensor networks, such that IPv6 protocol is extended based on RPL 
. RPL is a extended distance vector-based protocol for IoT. Routing limitations and challenges in sensor networks, as the most salient subset of IoT, distinguishes it from all other distributed systems. Such limitations affect the whole design of wireless sensor networks, including various protocols and algorithms of other classifications of IoT. This research has focused on the routing scheme of IoT . RPL consists of an acyclic graph with one root per DODAG. In such a graph, each node acts as the parent node if required; Otherwise, it is considered as a child of an accessible parent. The utilization of a point to multi-point approach is another feature of this approach, which is consistent with the applications of sensor networks. As depicted in Fig.4, this protocol creates a Destination Oriented Directed Acyclic Graph (DODAG) as the root. If the PAN coordinator is considered as the root of the Directed Acyclic Graph (DAG), several paths can be established toward the PAN coordinator. However, in accordance with the considered policies in RPL objective function, any kind of loop creation is avoided. RPL can exploit any routing metric to creat DODAG.
Each node broadcasts a DAG Information Object (DIO) containing the distance between the node and DAG root in terms of an specific metric (e.g. number of hops, link quality, delay or Jitter). Afterwards, each node executes a distance vector algorithm, in order to find a set of neighbor nodes which are closer to the root than the node itself. Such neighbors are the very parent nodes. Additionally, RPL presents a fast route repair mechanism to be utilized if any unstable loop is detected. Although RPL is implemented and completely evaluated in TinyOS and Contiki , it is rarely employed on a short MAC duty cycle. As far as the investigations of RPL reveal, RPL is not even evaluated under the operation of active beacon IEEE 802.15.4. A number of recent routing schemes support the multiple route utilization in wireless sensor networks. Authors in  propose the method of selecting the best path among all existing paths in order to obviate some of QoS requirements in industrial applications. To demonstrate RPL more clearly, it is crucial to define the basic principles, based on which the algorithm is proposed. In this regard, by considering an RPL network named , consisting of node set and boundary routers (DODAG concept) the concepts of rank, high-priority parent of DODAG, and root list of DODAG are illustrated as follows.
Definition1. Rank: Rank is a criterion of the distance between the node and DODAG root . The accurate rank calculation method depends on the DAG objective function (OF). Although the rank calculation falls within the obligations of objective function, nodes’ rank should steadily decline while moving in DODAG toward DODAG destination. This is why rank can be construed as a numerical representative of the location or radius of a node within DODAG.
Definition2. DODAG Preferred Parent (DPP): Suppose node in , where the single-hop neighbors set is denoted by , and is a limited subset of . For each node we have , provided that is of the minimum rank toward the specified DODAG root .
Definition3. DODAG Root List (DRL): As mentioned formerly, each node should send DIO messages in broadcast manner. In GeoRank operation, the location of DODAG root should be included in such messages. Hence, it is supposed that is a saved list of DODAG root location in each node .
For each sink node, RPL creates and supports at least one DODAG. According to the pre-defined specific procedure, this protocol calculates upstream and downstream routes independently; so as to take advantage of them if fulfilled network objective function. Notwithstanding the features and privileges of RPL protocol, this protocol suffers from a kind of unfairness and unbalanced traffic transmission, inasmuch as the introduced objective functions in papers support an specific objective function depending on the particular application. As elucidated in , one of the recently proposed solutions is the graph degree restriction in RPL network. As mentioned by authors, graph degree restriction is the main principle of discriminating parent node in child node selection. In this approach, the network is modeled by a connected non-directional graph . Constant value is defined such that , where is the number of existing nodes in the network graph. Constant value , which indicates the constraint of the number of acceptable children, is recognized by each node. In other words, is the maximum node degree in DODAG. Note that the root node does not obey this constraint. In the constitution procedure of the DODAG, each node in DODAG selects the optimum parent , and memorizes a potential set of alternative parents to construct upstream nodes. To implement the graph degree constraint in BD-RPL, the principle messages of RPL protocol, like DAO and DAO-ACK, are utilized .
Due to the great topological changes and the resultant requirement to synchronize and update routing tables, a great number of control messages are exchanged in most of the protocols proposed for IoT. For the aim of conserving energy in most of equipments with limited resources, such communication costs should be controlled . Authors in  focus on the low-power and lossy networks protocols, specially RPL, where resource limitations remarkably affect the efficiency. A flexible approach, named as A-RPL, is proposed in order to create and change network conditions through objective function formation framework. In this approach, network data is aggregated along with seeking the root node. The proposed data aggregation method in this protocol is so simple (maximum, minimum, average), such that depending on the application of the data received by the parent node, the maximum value or minimum value is merely sent to its parent. Besides, a compatible scheduling model is proposed to optimize the number of control packets in an RPL network. In addition, a compatible MAC-based function is introduced, in order to determine the message transmission frequency based on the traffic variety and storage degree of the node.
Iii Proposed method
In accordance with the demonstration of the previously proposed approaches in Sec.II-B3, the proposed method of this paper comprises two objective functions for both network graph creation phase and aggregation-based data transmission and exchange phase. In our proposed method, according to the first objective function (named as ), each parent node is limited to child nodes, where value is determined depending on the network application type. Through the second objective function, namely , each network node is equipped with a learning automata. According to the status and congestion of the received packets, such a learning automata grants either data aggregation permission or instantly direct transmission permission to the parent node . Subsequent subsections are as follows. The formation of the network graph, based on the objective function , is illustrated in Sec.III-A. The proposed learning automata in the form of objective function is presented in Sec.III-B.
Iii-a Network graph formation phase
RPL graph is generally challenged by the unbalanced workload and the degree of network nodes. To address this issue, a degree constraint is determined in order to prohibit each parent node from possessing more than threshold children. It is axiomatic that this approach increases the graph levels. An example of the RPL structure and unbalanced network nodes is illustrated in Fig.5.
, the queueing mechanism of network nodes has limited efficiency on network congestion reduction. However, the act of increasing network graph levels restricts the number of assigned children to a typical parent node, and reduces the probability of collision and queue overflow in the network as a result.
After the placement of network nodes in the environment, the root node determines the type of objective function, based on the priority of the network application type; then, the node broadcasts the degree restriction value (i.e. constant) through DIO messages throughout the network. Note that the priority of network application type specifies the targeted end-to-end delay and packet delivery ratio. Having received the DIO message in the first level, each child node investigates the value of graph degree restriction (written in the Option field of DIO message) to verify whether or not this value exceeds the determined threshold. This value must not exceed the determined threshold. The proposed structure for DIO message is presented in Fig.7.
In this approach, the number of transmitted (i.e. relayed) packets in nodes placed near the sink node is not changed. However, the collision and packet loss rate decreases, which yields in the reduction of network energy consumption. According to our proposed method, in each node other than the root node, these steps are respectively followed:
As soon as node selects its optimal parent () from DODAG, node assists through sending a DAO message, in order to construct the downstream routes.
Since may receive DAO from different children, this node investigates the number of requests at the moment of receiving a DAO. adopts node as its child and adds the existing route to into its routing table, provided that the number of accepted parental requests (including the request of node ) does not exceed . By doing so, informs about acceptance of the request through sending a DAO-ACK to . On the other hand, if the number of existing children of exceeds value, denies the request of and informs it through sending a DAO-ACK.
Having received the DAO-ACK message, node creates the upstream route to in order to stop the procedure of DAO allocation and confirmation, provided that DAO-ACK is a accept confirmation. However, if the DAO-ACK includes a denial notification, selects another proper parent from the available parent set, and sends a DAO message to .
Iii-B Data aggregation scheme based on learning automata
As a novel research topic, the learning mechanism of alive organisms classifies into two general categories. The first category deals with recognizing the learning principles of organisms and the relevant stages. The second category deals with presenting a methodology of placing such principles in a machine. Learning is defined as the occurred changes in a system efficiency on the basis of the former experience. One of the consequential features of a learner systems is the ability to improve the performance of itself with the passage of time. To put in mathematical explanation, the main objective of a learner system is to optimize a task which is not completely recognized. Therefore, one of the approaches of this problem is to decrease the objectives of learner system into an optimization problem defined on a set of parameters; the aim of which is to find the set of optimal parameters. ALearning Automata can be considered as an abstract object with finite number of operations. Learning Automata operates through choosing one operation from the operation set and applying that operation to the environment. The applied operation is evaluated by a random environment, and the learning automata employs the environmental response to choose its next operation. During this procedure, the automata learns to choose the optimal operation. How to utilize the environmental response of the former operation in selecting the next operation is specified by the learning algorithm of the automata. A learning automata consists of two main components:
A random automata with limited number of operations and a random environment communicating with the automata.
The learning algorithm through which the automata learns the optimal operation.
A random automata is defined as the fourfold set , where is the set of automata’s operations ( denotes the number of automata’s operation), and is the input set of automata. The environment is denoted by the fourfold set of , where is the set of penalty probabilities and denote the automata’s bonuses. The environment input is one of the selected operations of the automata. The output (i.e. response) of the environment to each operation is denoted by . If is a binary response, the environment is denominated as P-model. In such an environment, is construed as the unfavorable response, or failure; and is considered as favorable response, or success. Set denoting the penalty (failure) probabilities of the environment responses is defined as
where the probability of receiving an unfavorable response from the environment is denoted by . Note that values are unspecified, and it is supposed that all values of have a unique minimum value. In the same way, the environment can be demonstrated as a set of bonus (success) probabilities (i.e. ) where denotes the probability of receiving favorable response from operation . The relation between the random automata and environment is shown in Fig.8. This set as well as the learning algorithm are denominated as Stochastic Learning Automata. In a similar manner, the stochastic learning automata can be demonstrated by the fourfold set , where is the border of the probabilities of automata’s operations, and is the learning algorithm.
If operation is selected in the step; then, in the step we have:
The favorable response from the environment is
The unfavorable response from the environment is
It is worth stating that set includes the outputs (i.e. the operations) of automata. In other words, the automata selects and applies one operation among all operations existing in this set in each step. Note that the input set determines the inputs of the automata.
Having created the network graph, network nodes execute the proposed objective function . Each parent node starts either aggregating data or instantly sending data in recent time slot. The act of data aggregation is performed by each parent node such that the next-step action is selected according to the environmental received feedback. Note that the proposed system acts in distributed manner; such that if a parent node in lower layers aggregate some packets, such packets are not aggregated in higher layers, so as to avoid multi-step aggregation and the resultant unacceptable imposed delay on data packets. In order for data aggregation mechanism to perform efficiently, each sensor node is equipped with a learning automata. Learning automata is a decision making system selecting an existing operation in the upcoming round according to the environmental received feedback. Learning automata includes two phases: selecting phase, and learning phase. In the selecting phase, based on the environment feedback, decisions are made with regard to the upcoming rounds toward improving the existing status in relation to previous steps .
Iii-B1 Selecting Phase
All of the sensor nodes have an aggregation label (lbl_indicator) which is initialized to 0 at the beginning. When a sensor node plays the role as an aggregator, the value of this label changes to 1. In the routing procedure proceeding data reception, each node acts as an aggregator with probability and, accordingly, acts as an ordinary node with probability to prepare and send the received data toward the root node. Upon the activation of lbl_indicator (i.e. changing the value to 1), the node waits for seconds to receive more data packets. Note that is a constant value for all of the nodes acting as an aggregator. After the passage of seconds, all the received data is aggregated into a single data packet, by means of the function . Afterwards, this single packet is routed. At the beginning, all nodes have the same . However, through the repetitions of the algorithm and the reception of reinforcement signals from the environment, this probability changes.
Iii-B2 Learning Phase
In the learning phase, a learning automata is employed in wireless sensor network as a distributed factor. Each sensor node, as a learning agent, is equipped with a learning automata comprising two different operations. The concepts and parameters of such a learning automata are as follows:
Agent: Each sensor node acting as an independent learner is known as an agent. In other wards, the action of learning agent has no effect on other learning agents.
Action: Each agent can act as an aggregator or an ordinary node.
Reinforcement signal (S): The number of data packets received by node during time duration (also known as input degree).
where is the number of data packets aggregated by previous nodes throughout the routing, and is the number of data packets not being aggregated by previous nodes throughout the routing.
If , then node is rewarded. Otherwise, the node is given a penalty. If a reward is received by the node, varies as
and if a bonus is received by the node, will be as
where is the penalty coefficient, T is the reward to penalty ratio, and the impact of coefficients for the total number of (plain or aggregated) received packets in node during time duration is
where is the number of aggregated data packets in for node , and the impact of coefficients (reward/penalty) is as
The diagram of data aggregation in each parent node and data communication of nodes are respectively shown in Fig.9 and Fig.10. In addition, the general diagram of the proposed method is shown in Fig.11.
Iv Performance evaluation
In order to evaluate the performance of the proposed method and compare its performance with those of base approaches, Contiki Operating System and Cooja emulator are utilized. Contiki is an open source operating system for simulating IoT, which enables us to provide the communication between low power and low cost micro controllers through the Internet. Additionally, using the embedded tools in the core of Contiki Operating System, this OS provides the implementation of complex wireless networks. Contiki has been so far adapted for the hardware which is simultaneously constrained by the memory and power, processing capability, and communication bandwidth. A Cotiki-based system usually requires resources as: a kilobyte-ranged memory capacity, a milliwatt-ranged power, a several megahertz-ranged processing frequency, and hundreds of kilobits per second bandwidth. Such class of hardware includes a wide range, such as common embedded systems to old computers[10, 24]. Note that while alluding to an emulator, we imply a software or a hardware system which acts positively close and similar to a real system; such that while utilizing such a system, it is usually supposed that a real system is being utilized. However, it is worth mentioning that the implementation procedure of simulators are entirely different. In other words, simulators do not exactly follow the rules and dealings of a real system. Rather, they have specific rules, some of which may hardly occur in a real, non-simulated system. In this work, Cooja emulator is employed, in order to model the proposed methods as well as the base method on the Contiki open source operating system.
Iv-a Test settings
In order to investigate and evaluate the performance of the proposed method, a set of sensor nodes are employed, all of which have been produced by our research group ( Internet of Things Laboratory of Iran111Internet of Things Laboratory of Iran, (www.gloriot.com)). The designed hardware, which is made in accordance with the specifications elaborated in Table.I, is commercially known as GLORIOT. This test has been carried out in Cooja emulator environment and real feedbacks, in order to take test precision into consideration as well.
|Micro Controller||STM32f405-ARM32-bit-Cortex®-M4-CPU with FPU|
|Flash memory||Up to 1 Mbyte|
|Low-power operation||Sleep, Stop and Standby modes- VBAT supply for RTC, 20×32 bit backup- registers + optional 4 KB backup SRAM|
|Wireless Range||Outdoors, the range was about 150m with 3dBi antennas by datasheet: up to 400m|
|Routing Level||RPL based on border router|
|Network Layer||IPv6 with 6LoWPAN standards 802.15.4 (2012)|
|Application Layer||GLORIOT-Interface + COAP|
|Battery Level||Battery holder for 2 AAA batteries|
|Sensors||Sensors: a temperature/humidity sensor (SHT15)|
|Sensor Port||Interfaced with the IRMote-CC2520 using an I2C bus.|
|Radio Transition Rate||30 meter -1dBm in simulation and 2 meter in experimental|
|Propagation Model||Unit Disk Graph Model|
|Radio Duty Cycling||Channel check rate is set to 4 Hz|
|Number of Nodes||50 randomly-deployed nodes|
|Warming Time||120 Second|
|Data Generating||Every 20 sec and 30 sec UDP packet|
|Simulation time||2 hours|
Iv-B Energy consumption evaluation
IoT nodes commonly use batteries; Therefore, the energy source of such nodes are the indispensable factor for their persistent survival and activity in network environment. Regarding this issue, the network energy consumption is measured through two approaches named as real energy consumption and nominal energy consumption. In fact, this two measurement approaches are the energy consumption values in real world implementation and Cooja emulator environment respectively. The first solution to calculate the energy consumption rate in milli-Joule scales is modeled as
where Tx and Rx respectively represent the consumed energy in each transmission and receive occurred in a node. In addition, the power consumption level (in milli-watt hour units) in network nodes is calculated through Eq.(10) as
The energy consumption diagram of the proposed method as well as those of base RPL approach and BD-RPL version is depicted in Fig.12. It is obvious from Fig.12 that the decrease of exchange rate as well as the increase of available time of network nodes not only have abated network congestion, but have reduced the number of required efforts for data exchange as well. Accordingly, the proposed method consumes less energy as compared to the base approaches; hence, longer network lifetime is provided by this approach.
Iv-C Control overhead evaluation
According to the assertions in Sec.II of this paper, a relatively high percentage of network activity time is spent on environmental control message exchanges, inasmuch as each connection or communication in RPL mechanism requires the transmission of control packets. Furthermore, due to the utilization of wireless communication medium, the collision rate (i.e. signal collision) of nodes in a tree-structured network in non-extensive environments is relatively high. This is why the precipitation of reaching the steady state procedure in a network graph, prohibition of lossy communication, and reduction of network communications through aggregating multiple packets in one packet, will desirably reduce the number of efforts required for accessing the medium. Note that another causes of signal congestion in RPL tree is the usage of multicast and broadcast messages throughout the network. In other words, according to Fig.13, our proposed method has increased the medium access probability for adjacent nodes; in that this method reduces not only the required medium access time, but also the number of back-offs occurred in the medium access control layer. The criterion number of control packets in a network is appreciably dependant on the traffic rate (i.e. the number of packets generated in the time unit) as well as the changes taken place in the graph topology structure. In real world, numerous factors can intensify this procedure; such as noise, signal error in indoor environment, signal distortion and attenuation, and similar drawbacks preventing the high quality signal from reaching to the intended place. The reduction of RSSI rate is commonly derived from the aforementioned factors, all of which are directly related to the network decisions. Due to the expensive costs of detection, restoration, and recognition of signals in hardware implementations; the message retransmission approach is proposed.
Iv-D Average path length evaluation
In this test, network performance is investigated through different link successful transmission rates. In particular, link successful transmission rate among nodes varies between values 0.3, 0.5, and 0.7. In other words, the higher successful transmission rate a link has, the higher child-to-parent accessibility is provided, and the fewer number of efforts are required for data transmission. Consequently, as the successful transmission rate of a link reduces, the number of efforts made by a typical child in order to connect to its respective parent increases. This leads the connection and communication between child and parent to be more problematic; all of which can culminate in either link failure or consecutive child-parent session failures. In this test, which is known as the average path length test, the average number of traversed hops between the leaf node and the root node is indicated. Since the primitive criterion for network graph formation in the basic RPL approach is defined as the hop-count distance from the sink node, the values of average path length in this approach is lower than other approaches. In BD-RPL, similar to our proposed method, the number of hop-counts to the root node has increased, in that nodes’ degrees have been restricted. Through the utilization of a combinational objective function as well as the consideration of hop-count parameter in graph formation, the tree height in A-RPL approach has been decreased. In the proposed method of this paper, as a result of degree restriction, the network tree height has been increased. This yields in such a procedure that: the more successful transmission rate of link increases, the less average path length is resulted; as illustrated in Fig.14.
Iv-E Upward average delay evaluation
The upward consumed time for a packet to reach the sink node is known as a function of the distance to the sink node. According to Fig.15, as anticipated, due to the degree restriction, the upward delay to reach the sink node in the proposed method is less than those of other approaches. The reduction of network nodes overflow rate as well as the aggregated packet transmissions have brought about a trade-off; such that the slight impact of packets aggregation delay is obvious in the network. In RPL and ARPL approaches, due to the occurred congestion on parent nodes, the delay of seeking the root node is gradually increased. However, as compared to BD-RPL, the degree restriction in the proposed LA-RPL method has caused some time duration be consumed for aggregation, as well as the common existing packet reception delay, processing delay, transmission delay, and propagation delay. On the other hand, since the packet transmission delay is longer than the aggregation delay, less total time is consumed for packet transmissions by the proposed method in comparison with BD-RPL.
In the proposed method, is a nonzero value. This value is equal to zero for all other approaches.
Iv-F Network warming time test
In each RPL network graph, the root node transmits start message, which is a rudimentary DIO message. Afterwards, the network requires an opportunity to create the network graph. As shown in Fig.16, despite former favorable results of the proposed method, this method requires longer network warming time for the first time. The warming time of the proposed method consists of the restriction of the number of children assigned to the parent node and amalgamate it into DIO message format, as well as the priority comparison among child nodes for the purpose of selecting the best parent among all available parents. This procedure requires more incipient exchanges as compared to the base approaches like RPL and A-RPL. The degree restriction of parent nodes increases the number of levels and effort steps passed by child nodes for the sake of parent node selection; Therefore, the height of network tree has been increased. This approach has been regarded as desirability cost and routing management of network nodes, and, in accordance with the inevitable existence of both privileges and deficiencies in each proposed IoT protocol, this can be alluded to as the cost of the proposed method. In addition, the effect of successful transmission rate of link on the warming time also indicates the efforts made by nodes, in order to create the network graph. According to Fig.16, in the proposed method of this paper, as the successful transmission rate of links decreases, the waiting time for the creation of network graph is increased up to four times. However, in RPL and A-RPL approaches, this increase trend has been up to at most three times. This observation highlights the significance of the link quality in the proposed method and BD-RPL approach.
V Performance evaluation in practical tests
For the sake of performance evaluation of the proposed method, some practical tests are performed in addition to the previously presented simulation tests. Note that practical tests are executed on the same designed hardware with the same conditions. A perspective of the designed sensor nodes in IoT Laboratory is illustrated in Fig.17. Similarly, the distribution of nodes in indoor and outdoor environments are respectively shown in Fig.18 and Fig19.
V-a Routing packets and lost packets evaluation
In this test, in order to evaluate the performance of the proposed method and investigate its success in the delivery of produced data packets throughout the network, the difference between the network nodes’ transmitted packets and root nods’s received packets is postulated as the evaluation criterion. The number of packets being retransmitted because of the noise is not calculated, withstanding the fact that the connection type of this test is considered as UDP. In addition, for both the base approach and the proposed method, the successful transmission rate of links is considered 0.9 for both indoor and outdoor environments. Note that the packet aggregation rate in the proposed method is in the indoor environment, and in the outdoor environment. In other words, for each hundred transmitted packets in the network, approximately 35 packets are received by the root node in aggregated format.
V-B Average power consumption per node
This test is allocated to the investigation of the average energy consumption for each network node. In accordance with the acquired simulation results presented in Fig.12, it is observed through this practical test that the energy consumption of network nodes is reduced. According to Fig.20, the average energy consumption of each network node for traffic rates 5, 10, and 15 packets per minute is respectively 3.37, 6.14, and 17.4 millie-watts.
V-C Average number of DIO control packets while topology changes
The main objective of this test is to investigate the extend to which the proposed method is effective to preserve trickle timer; such that the transmission of unnecessary DIO messages are avoided. In other words, through this test, it is investigated that to what extend the creation of steady network graph can reduce the control overhead, and increase the available time of nodes as well. In the proposed method, through providing a balance in network graph, the degree restriction of parent nodes prevents the occurrence of congestion; therefore, the rate of DIS messages and network instability is reduced in comparison with the base RPL approach. This is mainly due to the fact that despite the existence of upper-threshold recognized instability in the network, a reset trickle timer which culminates in the transmissions of DIO messages, as well as some changes in the network graph are essential. A consequential note in this test is that the location of five nodes have been changed after the passage of 60 minutes from the initial start time. This is done so as to investigate and compare both approaches in terms of both the speed and the cost of restoring network graph in indoor and outdoor environments. The acquired results of this test are resented in Fig.21
Due to the significance of communications among nodes as well as the topology and data packets transmission method in wireless sensor networks, specifically in the Internet of Things, this research has investigated the state-of-the-art proposed methods and presented a novel solution for the mentioned issues. According to the presented documentaries in this research, routing approaches in IoT have extended facets, such that its highly dependance on the hardware, software, and the embedded operating system leads to a number of various challenges. Routing efficiency of a destined source and destination pair is remarkably affected by issues such as computational overhead, algorithmic complexity, security, reliability, hardware fault tolerance, data error, and so forth. Such challenges are so wide-ranging and relevant to the cross-layer issues that exceed the scope of this research. This paper focuses on the reduction of both excessive exchanges and routing load in IoT, specifically in RPL approach. In the proposed method of this paper, through exerting graph degree restriction on each parent node, the exchange rate is reduced as far as possible to a cogent extent. Furthermore, through the utilization of a learning automata, packets belonging to similar directions are aggregated toward network root, and the time consumption is managed in terms of data exchange rate. This approach yields in the more intelligent formation of the network graph, and more efficient load balancing in the network in both simulation and practical environments as a result. The accrued results from both simulations and practical tests results confirm the remarkably superior performance of the proposed method in terms of energy consumption, control overhead, and root access delay as compared to the previously proposed methods.
-  (2014) Data aggregation in wireless sensor networks based on environmental similarity: a learning automata approach. Journal of Networks 9 (10), pp. 2567. Cited by: §III-B.
-  (2015) Learning automata based energy efficient data aggregation in wireless sensor networks. Wireless Networks 21 (6), pp. 2035–2053. Cited by: §III-B.
-  (2018) Adaptive timing model for improving routing and data aggregation in internet of things networks using rpl. IET Networks. Cited by: §II-B3.
-  (2015) Survey of operating systems for the iot environment. arXiv preprint arXiv:1504.02517. Cited by: §II-B3.
-  (2015) Bounding degrees on rpl. In Proceedings of the 11th ACM Symposium on QoS and Security for Wireless and Mobile Networks, pp. 123–130. Cited by: §II-B3.
-  (2016) Routing issues in internet of things: a survey. In Proceedings of the international multiconference of engineers and computer scientists, Vol. 1, pp. 16–18. Cited by: §I.
-  (2017) MRPL+: a mobility management framework in rpl/6lowpan. Computer Communications 104, pp. 34–54. Cited by: §I.
-  (2012) RPL in a nutshell: a survey. Computer Networks 56 (14), pp. 3163–3178. Cited by: Fig. 4.
-  (2015) A secure and scalable storage system for aggregate data in iot. Future Generation Computer Systems 49, pp. 133–141. Cited by: §II-B1.
-  (2018) Operating systems for low-end smart devices: a survey and a proposed solution framework. International Journal of Information Technology 10 (1), pp. 49–58. Cited by: §IV.
-  (2017) Multiple constrained qos routing with rpl. In Communications (ICC), 2017 IEEE International Conference on, pp. 1–6. Cited by: §II-B3.
-  (2017) Load balancing under heavy traffic in rpl routing protocol for low power and lossy networks. IEEE Transactions on Mobile Computing 16 (4), pp. 964–979. Cited by: §III-A.
-  (2015) Data aggregation in precision agriculture for low-power and lossy networks. In Communications, Computers and Signal Processing (PACRIM), 2015 IEEE Pacific Rim Conference on, pp. 438–443. Cited by: §II-B.
-  (2016) A gap analysis of internet-of-things platforms. Computer Communications 89, pp. 5–16. Cited by: §II-B2.
-  (2017) RPL load balancing in internet of things. IIUM Engineering Journal 18 (2), pp. 137–150. Cited by: §II-B3.
-  (2017) Data aggregation mechanisms in the internet of things: a systematic review of the literature and recommendations for future research. Journal of Network and Computer Applications 97, pp. 23–34. Cited by: §II-A.
-  (2018) Querying in internet of things with privacy preserving: challenges, solutions and opportunities. IEEE Network (99), pp. 1–8. Cited by: §I.
-  (2018) Recent advances in learning automata. Springer. Cited by: Fig. 8, §III-B, §III-B.
-  (2015) Security assessment of modern data aggregation platforms in the internet of things. International Journal of Information Security Science 4 (3), pp. 92–103. Cited by: §II-B2.
-  (2017) Internet of things: architectures, protocols, and applications. Journal of Electrical and Computer Engineering 2017. Cited by: §II-A.
-  (2017) MicroThings: a generic iot architecture for flexible data aggregation and scalable service cooperation. IEEE Communications Magazine 55 (9), pp. 86–93. Cited by: §II-B.
-  (2015) Issues of data aggregation methods in wireless sensor network: a survey. Procedia Computer Science 49, pp. 194–201. Cited by: §II-B1, §II-B2.
-  (2015) OpenMote: open-source prototyping platform for the industrial iot. In International Conference on Ad Hoc Networks, pp. 211–222. Cited by: §II-B3.
-  (2017) Review on open source operating systems for internet of things. In Journal of Physics: Conference Series, Vol. 887, pp. 012044. Cited by: §IV.
-  (2012) RPL: ipv6 routing protocol for low-power and lossy networks. Technical report Cited by: §II-B3.
-  (2014) Evaluating and analyzing the performance of rpl in contiki. In Proceedings of the first international workshop on Mobile sensing, computing and communication, pp. 19–24. Cited by: §II-B3.
-  (2017) An architecture for aggregating information from distributed data nodes for industrial internet of things. Computers & Electrical Engineering 58, pp. 337–349. Cited by: §II-B2.