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
Example: LEACH (Heinzelman, Chandrakasan, Balakrishan)
- 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.
Example: Span (Chen, Jamieson, Balakrishnan, Morris)
- Goal: create a capacity-preserving connected backbone.
Unlike LEACH, there is no assumption that all nodes can reach the
- 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
- ( (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.