# An Enhanced Distributed Data Aggregation Method in the Internet of Things
## 2 System Model and Related Works
### Data Aggregation Strategies in IoT
The general structure of cluster-based mechanisms is depicted in Figure 3.  
(2) **Centralized mechanisms:** Another suggested data aggregation method in IoT is termed as the centralized method [28]. 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 several data packets and converts them into a single packet [29]. In [30], 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 the network are taken into consideration as well. However, the complexity of this data aggregation mechanism is not evaluated in practical applications. Authors in [31] 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. Also, data will be lost if breaks occur in the central node [32]. (3) **Tree-based mechanisms:** Another structure of IoT topology is based on trees. In this structure, tree construction is initiated from the root node (i.e., sink node), and proceeds hierarchically 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. Afterward, through the accessible  
Figure 3: Cluster-based architecture [27]. 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 the hidden terminal effect in the network, in that by utilizing multi-hop communication, an acceptable balance is established in energy consumption rate [16; 33]. The Internet Engineering Task Force group(IETF) has proposed a routing scheme for LLN networks such as IoT and sensor networks, such that Internet Protocol version 6 (IPv6) is extended based on the Routing Protocol for Low-Power and Lossy Networks (RPL) [27; 34]. RPL is an 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 [35]. 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 [36]. RPL consists of an acyclic graph with one root per Destination Oriented Directed Acyclic Graph (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 Figure 4, this protocol creates a DODAG as the root. If the personal area network coordinator (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 create DODAG. Each node broadcasts a DAG information object (DIO) containing the distance between the node and DAG root in terms of a specific metric (e.g., several hops, link quality, delay or Jitter).