# An Enhanced Distributed Data Aggregation Method in the Internet of Things
## 2 System Model and Related Works
### Data Aggregation Strategies in IoT
Afterward, 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 [5], 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 [38] propose the method of selecting the best path among all existing paths in order to obviate some of the 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 \(G\), consisting of node set \(S\) and boundary routers \(B\) (DODAG concept) the concepts of rank, high-priority parent of DODAG, and root list of DODAG are illustrated as follows [34]:  
Figure 4: An illustrative network in RPL [37]. Definition 1: Rank: Rank \(R(u,\ j)\) is a criterion of the distance between the node \(u\in S\) and DODAG root \(j\in B\). 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. Definition 2: DODAG Preferred Parent (DPP): Suppose node \(u\) in \(G\), where the single-hop neighbors set is denoted by \(N(u)\), and \(DPP(u,\ j)\) is a limited subset of \(N(u)\). For each node \(v\in N(u)\) we have \(v\in DPP(u,\ j)\), provided that \(v\) is of the minimum rank toward the specified DODAG root \(j\in B\). Definition 3: DODAG Root List (DRL): As mentioned formerly, each node \(v\in N(u)\) 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 \(DRL(j)\) is a saved list of DODAG root location in each node \(u\). For each sink node, RPL creates and supports at least one DODAG. According to the predefined specific procedure, this protocol calculates upstream and downstream routes independently; to take advantage of them if the network objective function is fulfilled. Notwithstanding the features and privileges of RPL protocol, this protocol suffers from a kind of unfairness, and unbalanced traffic transmission, since the introduced objective functions in papers support a specific objective function depending on the particular application. As elucidated in [39], 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 G (V, E). Constant value k is defined such that k \(<\) |V|, where |V| is the number of existing nodes in the network graph. Constant value k, which indicates the constraint of the number of acceptable children, is recognized by each node. In other words, k 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 \(v\) in DODAG selects the optimum parent p, and memorizes a potential set of alternative parents to construct upstream nodes. To implement the graph degree constraint in Bounding Degree RPL (BD-RPL), the principle messages of RPL protocol, like DAO and DAO-ACK, are utilized.