Improving trickle fairness: Locally-calculated redundancy constants

The Trickle algorithm is the principal solution for information dissemination in Wireless Sensor Networks. Trickle controls the timing and suppression of application messages. For example, Routing Protocol for Low-Power and Lossy Networks (RPL) uses it to govern dissemination of control overhead. Key parameter of Trickle is the redundancy constant that defines if a message transmission should be suppressed, based on the number of receptions. Existing work in the literature and real-world deployments utilize a single redundancy constant for the network. We analytically study Trickle and derive a model to estimate the transmission load for each node with its own redundancy constant. We show that single redundancy constant leads to higher transmission load for nodes with less neighbors and propose a heuristic algorithm that calculates the redundancy constant locally at each node as a function of its number of neighbors. The strategy of locally calculating the redundancy constant at each node allows us to improve fairness in the network and thus prolong the network lifetime. We validate our analytic results using instruction-level emulations in Contiki and Cooja.