Chapter 5
Centrality-Based Eventual Leader Election in Dynamic Networks

This chapter proposes a new eventual leader election algorithm for dynamic systems, which implements a cross-layer neighbor detection, and a neighbor-aware mechanism that improves the sharing of topological knowledge, electing a central leader faster. Furthermore, in order to improve the performance of information propagation, the algorithm uses a topological knowledge based on a self-pruning mechanism combined with probabilistic gossip. Evaluations were conducted on the OMNeT++ [Var10] environment, simulating realistic MANET including interference, collision, and messages loss.

Nodes are mobile and communicate by sending messages over wireless links. The system membership is not known in advance. The communication graph can evolve over time, therefore, the network is not always fully connected but composed of one or more connected components. The algorithm chooses the leader according to a topological criterion: for every component, the leader is eventually the node having the best closeness centrality in the component. Each node progressively builds and maintains a local knowledge of the component communication graph. This knowledge is then used to locally determine a central leader, well located to be reached by a majority of processes.

The current chapter brings three main contributions:

1.
A new Centrality-based Eventual Leader election algorithm for dynamic systems, called CEL, where the leader eventually has the best centrality. CEL has a cross-layer neighbors detection which exploits the broadcast features of the underlying wireless network. The neighbor-aware mechanism improves the sharing of the topological knowledge and elects a central leader faster.
2.
CEL uses the topological knowledge through a self-pruning mechanism, combined with probabilistic gossip, to reduce global information propagation costs.
3.
An extensive evaluation on the OMNeT++ environment [Var10] using two mobility patterns to simulate Mobile Ad Hoc Network (MANET) with interference, collision, and messages loss. Comparison with the closest algorithm [Góm+13] shows that CEL has a good trade-off considering the number of messages exchanged, stability of the leader (i.e. the percentage of the average time that nodes adopt the expected leader), and the closeness of the leader to the other nodes.

Compared to the algorithm in the previous chapter, the system model of CEL assumes unreliable communication channels, which are suitable for realistic environments with interference and message collisions. Message loss is taken into account by the CSMA/CA protocol included in IEEE 802.11 [Com99]. Rather than assuming an underlying probe system, CEL uses a cross-layer mechanism to leverage already existing data link layer messages, and to access the MAC addresses of the nodes, which are used to construct the topological knowledge of the connected component. In addition, the topological knowledge is used to improve communication performance, and the sharing of this knowledge between nodes is optimized by taking advantage of the bidirectional links assumption (neighbor-aware mechanism), whereas in the previous chapter, the algorithm does not provide such mechanisms. Evaluation compare CEL with the Ω eventual leader election algorithm of Gómez-Calzado et al. [Góm+13], which also assumes eventually reliable communication channels and is more recent than Vasudevan et al. algorithm [VKT04]. Experiments use two more realistic mobility models: the Random Walk and the Truncated Lévy Walk.

The rest of the chapter is organized as follows: Section 5.1 presents the system model and assumptions, Section 5.2 describes the algorithm, Section 5.4 discusses performance results, and finally, a conclusion is given in Section 5.5.

5.1 System Model and Assumptions
5.1.1 Node states and failures
5.1.2 Communication graph
5.1.3 Channels
5.1.4 Membership and nodes identity
5.2 Centrality-Based Eventual Leader Election Algorithm
5.2.1 Pseudo-code
5.2.2 Data structures, messages, and variables (lines 1 to 4)
5.2.3 Initialization (lines 5 to 7)
5.2.4 Node connection (lines 8 to 17)
5.2.5 Node disconnection (lines 18 to 23)
5.2.6 Knowledge update (lines 24 to 34)
5.2.7 Neighbors update (lines 35 to 41)
5.2.8 Information propagation (lines 42 to 47)
5.2.9 Leader election (lines 48 to 52)
5.3 Simulation Environment
5.3.1 Algorithms Settings
5.3.2 Mobility Models
5.4 Evaluation
5.4.1 Metrics
5.4.2 Average number of messages sent per second per node
5.4.3 Average of the median path to the leader
5.4.4 Instability
5.4.5 Focusing on the 60 meters range over time
5.4.6 A comparative analysis with Topology Aware
5.5 Conclusion


Table of Contents

1 Introduction
1.1 Contributions
1.1.1 Topology Aware Leader Election Algorithm for Dynamic Networks
1.1.2 Centrality-Based Eventual Leader Election in Dynamic Networks
1.2 Manuscript Organization
1.3 Publications
1.3.1 Articles in International Conferences
1.3.2 Articles in National Conferences
2 Background
2.1 Properties of Distributed Algorithms
2.2 Timing Models
2.3 Process Failures
2.4 Communication Channels
2.5 Failures of Communication Channels
2.6 Distributed Systems
2.6.1 Static Systems
2.6.2 Dynamic Systems
2.7 Centralities
2.8 Messages Dissemination
2.9 Leader Election
2.9.1 Classical Leader Election
2.9.2 Eventual Leader Election
2.10 Conclusion
3 Related Work
3.1 Classical Leader Election Algorithms
3.1.1 Static Systems
3.1.2 Dynamic Systems
3.2 Eventual Leader Election Algorithms
3.2.1 Static Systems
3.2.2 Dynamic Systems
3.3 Conclusion
4 Topology Aware Leader Election Algorithm for Dynamic Networks
4.1 System Model and Assumptions
4.1.1 Node states and failures
4.1.2 Communication graph
4.1.3 Channels
4.1.4 Membership and nodes identity
4.2 Topology Aware Leader Election Algorithm
4.2.1 Pseudo-code
4.2.2 Data structures, variables, and messages (lines 1 to 6)
4.2.3 Initialization (lines 7 to 11)
4.2.4 Periodic updates task (lines 12 to 16)
4.2.5 Connection (lines 20 to 23)
4.2.6 Disconnection (lines 24 to 27)
4.2.7 Knowledge reception (lines 28 to 38)
4.2.8 Updates reception (lines 39 to 53)
4.2.9 Pending updates (lines 54 to 65)
4.2.10 Leader election (lines 17 to 19)
4.2.11 Execution examples
4.3 Simulation Environment
4.3.1 Algorithms
4.3.2 Algorithms Settings
4.3.3 Mobility Models
4.4 Evaluation
4.4.1 Metrics
4.4.2 Instability
4.4.3 Number of messages sent per second
4.4.4 Path to the leader
4.4.5 Fault injection
4.5 Conclusion
5 Centrality-Based Eventual Leader Election in Dynamic Networks
5.1 System Model and Assumptions
5.1.1 Node states and failures
5.1.2 Communication graph
5.1.3 Channels
5.1.4 Membership and nodes identity
5.2 Centrality-Based Eventual Leader Election Algorithm
5.2.1 Pseudo-code
5.2.2 Data structures, messages, and variables (lines 1 to 4)
5.2.3 Initialization (lines 5 to 7)
5.2.4 Node connection (lines 8 to 17)
5.2.5 Node disconnection (lines 18 to 23)
5.2.6 Knowledge update (lines 24 to 34)
5.2.7 Neighbors update (lines 35 to 41)
5.2.8 Information propagation (lines 42 to 47)
5.2.9 Leader election (lines 48 to 52)
5.3 Simulation Environment
5.3.1 Algorithms Settings
5.3.2 Mobility Models
5.4 Evaluation
5.4.1 Metrics
5.4.2 Average number of messages sent per second per node
5.4.3 Average of the median path to the leader
5.4.4 Instability
5.4.5 Focusing on the 60 meters range over time
5.4.6 A comparative analysis with Topology Aware
5.5 Conclusion
6 Conclusion and Future Work
6.1 Contributions
6.2 Future Directions
A Appendix
A.1 Energy consumption per node
A.1.1 Simulation environment
A.1.2 Algorithms settings
A.1.3 Mobility Models
A.1.4 Metric
A.1.5 Performance Results