5.3 Simulation Environment

Realistic simulations were carried over in order to compare the Centrality-based Eventual Leader (CEL) algorithm, with the Ω eventual leader election algorithm of Gómez-Calzado et al. [Góm+13] (see Section 3.2.2).

Experiments were conducted on a C++ discrete event simulator called OMNeT++ [VH08], with the INET framework [MVK19] to model wireless protocols and mobile networks. This environment allows simulation of unreliable communication channels and realistic layers of the OSI communication model. Each experiment involves 60 moving nodes placed in a 500 × 500 meters obstacle-free area during 30 simulated minutes. The experiments were conducted using OMNeT++ in console-mode on remote servers, but a graphical interface shown in 5.1 was mainly used for development purposes.

PIC

Figure 5.1: Screenshot of an OMNeT++ experiment running the CEL algorithm.

Simulations consider a full MANET network stack, with the physical and data-link layers following the IEEE 802.11n specifications [09]. The use of a cross-layer mechanism at the MAC level allows the application layer to access neighbor’s MAC addresses. Therefore, the identifier of a node is a MAC address, encoded on 3 bytes rather than usually 6 bytes, as it is assumed that all nodes have network components from the same manufacturer. Every node uses a single transceiver, with a fixed transmission range decided at the beginning of the experiment between 20 and 80 meters, and identical for all nodes. This transceiver uses the 2.4 GHz frequency band, with a nominal bitrate of 52 Mbps.

5.3.1 Algorithms Settings

In CEL, beacon messages are sent by the data-link layer every τ = 102.4 milliseconds (usual interval value of the Target Beacon Transmission Time), and are detected at the MAC level by the cross-layer mechanism.

The following two configurations of the algorithm were used for evaluation:

In Gómez-Calzado et al. algorithm, the frequency to send either join messages when a node is unconnected, or leader messages, is 102.4ms, as both are considered beacon messages. The timers detecting leader failure and node disconnection have an initial value (100ms) which is increased by 500ms when they expire. Since the original paper does not give any indication on the parameter values, these values were chosen after running several experiments using different values, as they were the most favorable to Gómez-Calzado et al. algorithm.

5.3.2 Mobility Models

Experiments use two mobility models from BonnMotion [Asc+10], a Java mobility scenario generation tool:

1.
Random Walk [CBD02], based on the Brownian motion (mathematically described by Einstein in 1926 [SM01; Ein56]), where a node moves from its current location to a new location by randomly choosing a direction in the interval [0, 2π] and a speed between 0.1m/s and 1m/s, with a pause time of 10 seconds once the destination is reached. A representation of the Random Walk is given in 5.2.

PIC

Figure 5.2: Representation of the Random Walk mobility model [CBD02].
2.
Truncated Lévy Walk [Rhe+11], which characterizes human mobility. Lévy walks are continuous-time random walks whose turning points are the visit points associated with the Lévy flights model. Parameters are a Levy exponent for flight length distribution α sets to 1, and a Levy exponent for pause time distribution β sets to 1. A representation of the Lévy Walk is given in 5.3.
PIC
Figure 5.3: Representation of the Lévy Walk mobility model [Rhe+11].


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