Abstract

Counting is a fundamental problem of every distributed system as it represents a basic building block to implement high level abstractions. In anonymous dynamic networks, counting is far from being trivial as nodes have no identity and the knowledge about the network is limited to the local perception of the process itself. Moreover, nodes have to cope with continuous changes of the topology imposed by an external adversary. A relevant example of such kind of networks is represented by wireless sensor networks characterized by the dynamicity of the communication links due to possible collisions or to the presence of duty-cycles aimed at battery preservation. In a companion paper [14], a leader-based algorithms to count the number of processes in an anonymous dynamic network, namely \(\mathcal {A}_{NoK}\), has been proposed. Such algorithm employs a technique that mimics an energy transfer from the anonymous nodes to the leader to converge to an exact count of the number of nodes having no knowledge on the dynamic network. Unfortunately \(\mathcal {A}_{NoK}\) is an unconscious counting algorithm, i.e., the algorithm eventually converges to the exact count but there is no node in the network that is able to detect when this happens. In this paper, we define a new algorithm, called \(\mathcal {A}^*_{NoK}\), by augmenting \(\mathcal {A}_{NoK}\) with a termination heuristic that allows the leader to decide when it should output the current count and we provide an experimental evaluation, for both \(\mathcal {A}_{NoK}\) and \(\mathcal {A}^*_{NoK}\), considering different types of dynamic graphs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call