Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization and Sensor Networks
Sébastien Tixeuil
LRI - CNRS 8623 & INRIA Grand Large Université Paris Sud, France
August 9, 2007
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Outline
Sensor Networks and Self-stabilization Model(s)
Cached Sensornet Self-stabilizing Unison TDMAMotivation
Algorithm stack Clustering
Density
Self-stabilizing Clustering Simulation Results Conclusion
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Sensor Networks
�processor + sensors + radio
�2 AA batteries, on/off switch
�3 LEDs for debugging
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Sensor Networks While (batteries supply power)
�Collect, aggregate and reduce data
�log into memory
In spite of numerous fault modes
�Permanent sensor failures, node failures
�restarts, radio failures
�transient faults, reconfigurations
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Distributed Systems Definition (Classical System,a.k.a.Non stabilizing)
Starting from aparticularinitial configuration, the system immediatelyexhibits correct behavior.
Definition (Self-stabilizing System)
Starting fromanyinitial configuration, the system eventuallyreaches a configuration from with its behavior is correct.�Self-stabilization permits to recover from transient failures
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Distributed Systems Definition (Classical System,a.k.a.Non stabilizing)
Starting from aparticularinitial configuration, the system immediatelyexhibits correct behavior.
Definition (Self-stabilizing System)
Starting fromanyinitial configuration, the system eventuallyreaches a configuration from with its behavior is correct.�Self-stabilization permits to recover from transient failures
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization
“Correct”
Time Configurations
Stabilization Time
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Complexity Criteria
Maximize useful lifetime of system
�“maximise useful”: correct quickly from illegitimate state
�Self-stabilization, scalability
�“maximise lifetime”: use minimal energy to preserve batteries
�local vs. global preserving
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
System Specifics
�only one radio frequency
�no collision detect
�access technique: CSMA/CA
�use CRC to detect collision
�no directional send/receive
�msg. are small (30 bytes)
�radio range about 1 meter
�number of neighbors < 10
�could be large number of nodes (perhaps > 100000)
�unique node IDs (probably)
�cost a few�(someday)
�slow processor (4 MHz)
�limited memory (4 KB RAM)
�item nodes have real-time clocks≡drift between 1 msec and 100 msec per second
�several power modes available
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
a b
c d
e
f h g
i j
k l
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s) Self-stabilizing model
�Read neighborhood state,
�compute and update local state
Sensor Network model
�Read local state,
�compute and broadcast to neighborhood
�Collisions may appear
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization in Sensor Networks Transform (i.e. Simulate) the self-stabilizing model into the sensor networks model
�Pros: reuse existing SS algorithms
�Cons: potentially inefficient, overhead
�[Herman 03]Cached Sensornet Transform
Design self-stabilizing algorithms for the sensor networks model
�Pros: potentially efficient
�Cons: ignore previous SS work
�[Herman 03]Unison with collisions
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization in Sensor Networks Transform (i.e. Simulate) the self-stabilizing model into the sensor networks model
�Pros: reuse existing SS algorithms
�Cons: potentially inefficient, overhead
�[Herman 03]Cached Sensornet Transform
Design self-stabilizing algorithms for the sensor networks model
�Pros: potentially efficient
�Cons: ignore previous SS work
�[Herman 03]Unison with collisions
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization in Sensor Networks Transform (i.e. Simulate) the self-stabilizing model into the sensor networks model
�Pros: reuse existing SS algorithms
�Cons: potentially inefficient, overhead
�[Herman 03]Cached Sensornet Transform
Design self-stabilizing algorithms for the sensor networks model
�Pros: potentially efficient
�Cons: ignore previous SS work
�[Herman 03]Unison with collisions
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Basic Algorithm
�Each nodephas a variablevp
�Each neighborqofphas a variablecqvp
�cqvpis the cached value ofvpatq
�Wheneverpassignsvp,palso broadcasts the new value to the neighborhood
�Whenever a neighborqofpreceivesvp,qupdatescqvp
accordingly
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Definition (Cache coherence)
For all neighborspandq,cqvp=vpLemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvpby vp
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvpby vp
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvpby vp
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvpby vp
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Periodic retransmit
�Each nodepperiodically broadcastsvpto its neighborhood
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
Lemma (Convergence)
If started from an arbitrary state, and without collisions, a cache coherent state is eventually reached
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Message Corruption
�Each neighborqofphas a Boolean variablebqvp
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
�Ifqreceivesvpcorrectly,bqvpbecomes true
�G→Abecomes
for all neighborsqofp,bpvqandG→ A; for all neighborsqofp,bpvqbecomes false
a b
c cbva
cavb
ccva
cavc
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Periodic Retransmit Message Corruption Lemma (Self-stabilization)
If started from an arbitrary state, the self-stabilizing model is eventually simulated
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Unison
Specification
�Each nodephas a clock variablevp
�For every neighborspandq,|vp−vq|�1
Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Unison
Specification
�Each nodephas a clock variablevp
�For every neighborspandq,|vp−vq|�1
Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 0 8 1 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 0 8 2 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 1 8 2 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 2 8 2 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 2 8 2 2
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 2 2 8 2 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 3 3 8 3 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 4 4 8 4 4
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 5 5 8 5 5
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 6 6 8 6 6
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
7 7 6 8 7 7
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
8 7 6 8 8 8
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
8 7 7 8 9 8
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example Self-stabilizing Unison
�for every neighborq,vq�vp→vp:=vp+1
non activatable activatable legitimate
8 8 7 8 9 9
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions Specification
�Each nodephas a clock variablevp
�For every neighborspandq,|vp−vq|�1
Self-stabilizing Unison
with Collisions
�for every neighborq,vq�vp→vp:=vp+1
�for every neighborq,cpvq�vp→vp:=vp+1
�Only correctly received messages update cached variables
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions Specification
�Each nodephas a clock variablevp
�For every neighborspandq,|vp−vq|�1
Self-stabilizing Unison
with Collisions�for every neighborq,cpvq�vp→vp:=vp+1
�Only correctly received messages update cached variables
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions Specification
�Each nodephas a clock variablevp
�For every neighborspandq,|vp−vq|�1
Self-stabilizing Unison
with Collisions�for every neighborq,cpvq�vp→vp:=vp+1
�Only correctly received messages update cached variables
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 2
1 4
1 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 3
2 4
1 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 4
3 4
1 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 4
3 2
1 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 4
3 2
4 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 4
3 2
4 2
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
2 4
3 2
4 2
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
3 4
3 3
4 3
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
non activatable activatable legitimate lower than value strictly greater
4 4
3 4
4 4
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions Cache coherence weakening
�For every neighborspandq,cpvq�vq
Self-stabilizing Unison with collisions
�Unison and Weak cache coherence are preserved by program executions
�Unison and Weak cache coherence eventually hold
�Some extra work is expected to get bounded clock values
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilization in Sensor Networks Transform (i.e. Simulate) the self-stabilizing model into the sensor networks model
�[Herman 03]Cached Sensornet Transform
�Overhead is not upper bounded
Design self-stabilizing algorithms for the sensor networks model
�[Herman 03]Unison with collisions
�Proof in the model is specific to the problem
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Outline
Sensor Networks and Self-stabilization Model(s)
Cached Sensornet Self-stabilizing Unison TDMA
Motivation Algorithm stack Clustering
Density
Self-stabilizing Clustering Simulation Results Conclusion
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Towards an Intermediate Model An atomic step at a node
�Compute new state, write new state at all neighbors (no collision)
Hypothesis
�Global clock, unique IDs
Solution
�TDMA to avoid collisions
�assume synchronised, real-time clocks (to enable TDMA slotted time)
�but TDMA implemented using CSMA/CA as basic, underlying model
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Towards an Intermediate Model
Solution
�TDMA to avoid collisions
�assume synchronised, real-time clocks (to enable TDMA slotted time)
�but TDMA implemented using CSMA/CA as basic, underlying model
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
TDMA Scheduling
1 2 3 4 5 1 2 3 4 5 1 2 . . .
�Algorithm messages are transmitted during the
“overhead” periods
�TDMA slot assignment is the output of our algorithm
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing TDMA for Sensors
�[Kulkarni, Arumugam 03]2-D Grids
�nodes are aware of their positions
�Not suitable for dynamic/faulty networks
�[Herman,Tixeuil 04]General graphs of bounded degree
�Randomized algorithm, self-stabilizing in expected O(1)time, to assign TDMA slots
�Solution is a protocol stack based on variable propagation, minimal coloring ofN2, MIS construction, and mapping colors↔TDMA slots
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
2 0
3 1
4 2 0 4
2 0
3 1
4 2 1 3
5 5
5 5
5 3 3 3
5 5
5 5
5 5 4 3
�both are minimal,
�but second solution is better for time-slot assignment
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
2 0
3 1
4 2 0 4
2 0
3 1
4 2 1 3
5 5
5 5
5 3 3 3
5 5
5 5
5 5 4 3
�both are minimal,
�but second solution is better for time-slot assignment
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Overview
N2minimal coloring→TDMA schedule
N3coloring + MIS→N2minimal coloring
N3coloring→MIS
Variables propagation→N3coloring
CSMA/CA→Variables propagation
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
CSMA/CA → Variables propagation
�Wait fixed delay
�to process received messages, and update local variables
�Wait random delay
�to allow Aloha-style analysis for probability of collisions among neighbors
�“Age” information to remove invalid data
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Shared variables → N
3coloring Previous L(1,0)& L(1,1) Coloring
�[Ghosh, Karaata 93]Planar graphs L(1,0)
�[Sur, Srimani 93]Bipartite graphs L(1,0)
�[Gradinariu,Tixeuil 00]General graphs L(1,0)
�[Gradinariu, Johnen 01]Colors of sizen2L(1,1)
Our algorithm
∃j∈N3i, colorj=colori→colori:=random(∆\ {colorj|j∈ Ni3})
�Stabilizes in expectedO(1)
�Output an ID-based DAG of constant height
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring → MIS
[Ikeda, Kamei, Kakugawa 02]
No parent in MIS→join MIS
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring + MIS → Minimal N
2coloring
MIS→send colors to dominated nodes
a
b c
d j
e
f
g h
i
1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0 1
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring + MIS → Minimal N
2coloring
MIS→send colors to dominated nodes
a
b c
d j
e
f
g h
i 1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0 1
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring + MIS → Minimal N
2coloring
MIS→send colors to dominated nodes
a
b c
d j
e
f
g h
i
1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0 1
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring + MIS → Minimal N
2coloring
MIS→send colors to dominated nodes
a
b c
d j
e
f
g h
i
1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
1
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
N
3coloring + MIS → Minimal N
2coloring
MIS→send colors to dominated nodes
a
b c
d j
e
f
g h
i
1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
1
4,g 0,j
6,j 5
3,g
1,i
0 2,i
0
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
1 5
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
1 5 1 5
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
1 5 1 5
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
1
5 1
5
15 15
1
5 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
1
5 1
5
15 15
1
5 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
1 3
5 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
1
5 1
5
15 15
1
5 1
3 1
3 1
3
15 1
5
15 15
15 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
3 1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
15
5 3 3 3
15 1
5
5
15
5 3 3 3
15 1
5
15 15
5 3 3 3
15 1
5
15 15
15 3 3 3
15 1
5
15 15
15 3 13 3
15 1
5
15 15
15 1
3 1
3 3
15 1
5
15 15
15 1
3 1
3 1
3
1
5 1
5
15 15
1
5 1
3 1
3 1
3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Outline
Sensor Networks and Self-stabilization Model(s)
Cached Sensornet Self-stabilizing Unison TDMAMotivation
Algorithm stack Clustering
Density
Self-stabilizing Clustering Simulation Results Conclusion
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Motivation
Clusters for routing
MANET routing protocols are flat, thus not scalable Cluster-heads have extra responsibility for the routing of message
Cluster-heads should be stable
Handle departures and removals Handle node mobility
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Density
ρ(u) =|{e= (v,w)∈E|w∈{u}∪Nuandv∈Nu}|
|Nu|
a
b c
d j
e
f
g h
i
a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Density
ρ(u) =|{e= (v,w)∈E|w∈{u}∪Nuandv∈Nu}|
|Nu|
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Density
ρ(u) =|{e= (v,w)∈E|w∈{u}∪Nuandv∈Nu}|
|Nu|
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cluster Head Heuristics
1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i
1.33a
b 1.75 c1
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i 1.33a
b 1.75 c1
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cluster Head Heuristics
1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i 1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i
1.33a
b 1.75 c1
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cluster Head Heuristics
1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i 1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i 1.33a
1.75b 1c
1.75d j 1.5
1.8e f 1.33
g 1.5
h1 1i