Some images taken from http://www.cs.uni-paderborn.de/index.php?id=1119&L=1

- Key Task: Choosing the Backbone Nodes or Clusterheads
- Determine when a node should be promoted to a coordinator
- Determine when a node should be demoted to a regular node

- Connectivity - Two nodes connected in G should be connected in G'.
- Stretch factor
- Hop stretch - Are paths longer in G' than in G?
- Energy stretch - Do paths require more energy in G'?
- Throughput - Can links in G' support as much traffic?
- Robustness to mobility
- Algorithm overhead

- Load distribution
- Minimization of number of coordinators
- Decentralization

- Each round each node decides whether to be a clusterhead based on a preconfigured suggested percentage of clusterheads and the number of times the node has served as clusterhead.
- The assumption of the LEACH algorithm is that all nodes can reach a data sink.
- Load distribution - the decision to become a clusterhead is based on whether a node has previously been a clusterhead.
- Number of coordinators controlled by configuration parameter.
- Algorithm is completely decentralized and relies only on locally available information.

- Goal: create a capacity-preserving connected backbone. Unlike LEACH, there is no assumption that all nodes can reach the data sink.
- Basic idea: a node should be a coordinator if two if its neighbors cannot reach one another. In order to ensure fairness, nodes use a backoff delay, based on several factors, before announcing willingness to become a coordinator. Periodically, a node may also decide to withdraw as a coordinator.
- A node's decision to become a coordinator is based on locally available information about neighboring nodes. A node sends the following information about itself in periodic HELLO broadcasts:
- Status (coordinator or not)
- Current coordinators
- Current neighbors
- A node bases its decision to become a coordinator on the following eligibility rule:
- "if two neighbors of a non-coordinator node cannot reach each other either directly or via on or two coordinators, the node should become a coordinator."
- To reduce announcement contention, nodes delay announcing their decisions to become coordinator using a randomized backoff delay. The equation for the delay is based on the remaining percentage of energy in the node, the number of neighbors of the node, and the number of neighbors that would be connected if the deciding node were to become a coordinator.
- ( (1-% battery) + (1 - utility) + (R)) * N * T
- utility is based on the number of additional pairs of nodes that will be connected by the deciding node.
- Withdrawal: a node periodically decides whether to withdraw. It will withdraw if every pair of its neighbors can reach each other directly or via some coordinators. For fairness, it will also withdraw after some time if every pair of neighbors can reach one another via some node, even if that node is not a coordinator.

Sami Rollins

Date: 2008-04-18