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
Sensor Networks
I processor + sensors + radio
I 2 AA batteries, on/off switch
I 3 LEDs for debugging
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Sensor Networks
While (batteries supply power)
I Collect, aggregate and reduce data
I log into memory
In spite of numerous fault modes
I Permanent sensor failures, node 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.
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
“Correct”
Time Configurations
Stabilization Time
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Complexity Criteria
Maximize useful lifetime of system
I “maximise useful”: correct quickly from illegitimate state
I Self-stabilization, scalability
I “maximise lifetime”: use minimal energy to preserve
System Specifics
I only one radio frequency
I no collision detect
I access technique: CSMA/CA
I use CRC to detect collision
I no directional send/receive
I msg. are small (30 bytes)
I radio range about 1 meter
I number of neighbors < 10
I could be large number of nodes (perhaps > 100000)
I unique node IDs (probably)
I cost a fewU(someday)
I slow processor (4 MHz)
I limited memory (4 KB RAM)
I item nodes have real-time clocks≡drift between 1 msec and 100 msec per second
I several power modes available
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
c d
e
f h g
i j
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
k l
a b
c d
e
f h g
k l
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
The Model(s)
c d
e
f h g
i j
l
a b
c d
e
f h g
i j
k l
c d
e
f h g
i j
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
k l
a b
c d
e
f h g
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
I Read neighborhood state,
I compute and update local state
Sensor Network model
I Read local state,
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
I Pros: reuse existing SS algorithms
I Cons: potentially inefficient, overhead
Design self-stabilizing algorithms for the sensor networks model
I Pros: potentially efficient
I Cons: ignore previous SS work
I [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
I Pros: reuse existing SS algorithms
I Cons: potentially inefficient, overhead
I [Herman 03]Cached Sensornet Transform
Design self-stabilizing algorithms for the sensor networks model
I [Herman 03]Unison with collisions
Self-stabilization in Sensor Networks
Transform (i.e. Simulate) the self-stabilizing model into the sensor networks model
I Pros: reuse existing SS algorithms
I Cons: potentially inefficient, overhead
I [Herman 03]Cached Sensornet Transform
Design self-stabilizing algorithms for the sensor networks model
I Pros: potentially efficient
I Cons: ignore previous SS work
I [Herman 03]Unison with collisions
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cached Sensornet Transform
Basic Algorithm
I Each nodephas a variablevp
I Each neighborqofphas a variablecqvp
I cqvpis the cached value ofvpatq
I Wheneverpassignsvp,palso broadcasts the new value to the neighborhood
Cached Sensornet Transform
Definition (Cache coherence)
For all neighborspandq,cqvp =vp
Lemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvp by 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 cqvp by vp
Example
Lemma (Closure)
If started from a cache coherent state, and without collisions, the self-stabilizing model is simulated by replacing all occurrences of cqvp by 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 cqvp by vp
Cached Sensornet Transform
Periodic retransmit
I Each nodepperiodically broadcastsvp to 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
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
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
Cached Sensornet Transform
Message Corruption
I Each neighborqofphas a Boolean variablebqvp I Ifqreceivesvpcorrectly,bqvpbecomes true
I G→Abecomes
for all neighborsqofp,bpvqandG→
A; for all neighborsqofp,bpvqbecomes false
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Example
I Ifqreceivesvpcorrectly,bqvpbecomes true
I G→Abecomes
for all neighborsqofp,bpvqandG→
A; for all neighborsqofp,bpvqbecomes false
Example
I Ifqreceivesvpcorrectly,bqvpbecomes true
I 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
I Ifqreceivesvpcorrectly,bqvpbecomes true
I G→Abecomes
for all neighborsqofp,bpvqandG→
A; for all neighborsqofp,bpvqbecomes false
Example
I Ifqreceivesvpcorrectly,bqvpbecomes true
I 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
I Ifqreceivesvpcorrectly,bqvpbecomes true
I G→Abecomes
for all neighborsqofp,bpvqandG→
A; for all neighborsqofp,bpvqbecomes false
Example
I Ifqreceivesvpcorrectly,bqvpbecomes true
I 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
I Ifqreceivesvpcorrectly,bqvpbecomes true
I G→Abecomes
for all neighborsqofp,bpvqandG→
A; for all neighborsqofp,bpvqbecomes false
Example
I Ifqreceivesvpcorrectly,bqvpbecomes true
I 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)
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Unison
Specification
I Each nodephas a clock variablevp I For every neighborspandq,|vp−vq|61
I for every neighborq,vq>vp →vp:= vp+1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Unison
Specification
I Each nodephas a clock variablevp I For every neighborspandq,|vp−vq|61
Self-stabilizing Unison
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Example
Self-stabilizing Unison
I 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
I for every neighborq,vq>vp →vp:= vp+1
non activatable activatable legitimate
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions
Specification
I Each nodephas a clock variablevp I For every neighborspandq,|vp−vq|61
Self-stabilizing Unison
I for every neighborq,vq>vp →vp:= vp+1
I for every neighborq,cpvq>vp →vp:= vp+1
I Only correctly received messages update cached variables
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Unison with Collisions
Specification
I Each nodephas a clock variablevp I For every neighborspandq,|vp−vq|61
Self-stabilizing Unison with Collisions
I Only correctly received messages update cached variables
Unison with Collisions
Specification
I Each nodephas a clock variablevp I For every neighborspandq,|vp−vq|61
Self-stabilizing Unison with Collisions
I for every neighborq,cpvq>vp →vp:= vp+1
I 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
4 2
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
4 2
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 2
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 2
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
Unison with Collisions
Cache coherence weakening
I For every neighborspandq,cpvq6vq
Self-stabilizing Unison with collisions
I Unison and Weak cache coherence are preserved by program executions
I Unison and Weak cache coherence eventually hold
I 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
I [Herman 03]Cached Sensornet Transform
I Overhead is not upper bounded
Design self-stabilizing algorithms for the sensor
networks model
Outline
Sensor Networks and Self-stabilization Model(s)
Cached Sensornet Self-stabilizing Unison TDMA
Motivation Algorithm stack Clustering
Density
Self-stabilizing Clustering Conclusion
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Towards an Intermediate Model
An atomic step at a node
I Compute new state, write new state at all neighbors (no collision)
Hypothesis
I Global clock, unique IDs
I assume synchronised, real-time clocks (to enable TDMA slotted time)
I but TDMA implemented using CSMA/CA as basic, underlying model
Towards an Intermediate Model
Solution
I TDMA to avoid collisions
I assume synchronised, real-time clocks (to enable TDMA slotted time)
I 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 . . .
I Algorithm messages are transmitted during the
Self-stabilizing TDMA for Sensors
I [Kulkarni, Arumugam 03]2-D Grids
I nodes are aware of their positions
I Not suitable for dynamic/faulty networks
I [Herman,Tixeuil 04]General graphs of bounded degree
I Randomized algorithm, self-stabilizing in expected O(1)time, to assign TDMA slots
I 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
Self-stabilizing TDMA for Sensors
2 0
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
I both are minimal,
I but second solution is better for time-slot assignment
Self-stabilizing TDMA for Sensors
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
I both are minimal,
I 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
N3 coloring→MIS
Variables propagation→N3coloring
CSMA/CA → Variables propagation
I Wait fixed delay
I to process received messages, and update local variables
I Wait random delay
I to allow Aloha-style analysis for probability of collisions among neighbors
I “Age” information to remove invalid data
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Shared variables → N
3coloring
∃j∈Ni3, colorj =colori →colori := random(∆\ {colorj|j∈ Ni3})
I Stabilizes in expectedO(1)
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
d e
g h
i a
b
d e
g h
i a
b
d e
g h
i a
b
d e
g h
i a
b
d e
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
c
d j
e
f
h i a
c
d j
e
f
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
d e
g h
i
a
b c
d j
e
f
g h
i
a
b
d e
g h
i a
b
d e
g h
i a
b
d e
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
c
d j
e
f
h i
a
b c
d j
e
f
g h
i a
b c
d j
e
f
g h
i
a
c
d j
e
f
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
d e
g h
i a
b
d e
g h
i a
b
d e
g h
i
a
b c
d j
e
f
g h
i
a
b
d e
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
c
d j
e
f
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
c
d j
e
f
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
2,i 0
4,g
3,g
0 2,i
0
4,g
6,j 3,g
0 2,i
0 1
4,g
6,j 3,g
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
c
d j
e
f
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
2,i 0
4,g
3,g
1,i
0 2,i
0
4,g
6,j 3,g
0 2,i
0 1
4,g
6,j 3,g
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
c
d j
e
f
h i
1,i
2,i 0
4,g
3,g
1,i
0 2,i
0
0,j
6,j 5
3,g
1,i
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
2,i 0
4,g
3,g
0 2,i
0
4,g
6,j 3,g
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
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5 1 5
1 5
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 3 3 3
5 15
5
5 3 3 3
1 5
1 5
5
5 3 3 3
1 5
1 5
1 5
5 3 3 3
1 5
1 5
1 5
1
5 3 3 3
1 5
1 5
1 5
1
5 3 13 3
1 5
1 5
1 5
1 5
1 3
1
3 3
1 5
1 5
1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5
1 5
1 3
1 3
1 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5 1 5
1 5
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 3 3 3
5 15
5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
5 3 3 3
1 5
1 5
1 5
5 3 3 3
1 5
1 5
1 5
1
5 3 3 3
1 5
1 5
1 5
1
5 3 13 3
1 5
1 5
1 5
1 5
1 3
1
3 3
1 5
1 5
1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5
1 5
1 3
1 3
1 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5 1 5
1 5
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 3 3 3
5 15
5
5 3 3 3
5 15
5
5 3 3 3
1 5
1 5
5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5
1
5 3 3 3
1 5
1 5
1 5
1
5 3 13 3
1 5
1 5
1 5
1 5
1 3
1
3 3
1 5
1 5
1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5
1 5
1 3
1 3
1 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5 1 5
1 5
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 3 3 3
5 15
5
5 3 3 3
5 15
5
5 3 3 3
1 5
1 5
5
5 3 3 3
1 5
1 5
1 5
5 3 3 3
1 5
1 5
1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5
1 5
1 3
1
3 3
1 5
1 5
1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5
1 5
1 3
1 3
1 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3 1
5
1 5
1 5 1 5
1 5
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 3 3 3
5 15
5
5 3 3 3
5 15
5
5 3 3 3
1 5
1 5
5
5 3 3 3
1 5
1 5
1 5
5 3 3 3
1 5
1 5
1 5
1
5 3 3 3
1 5
1 5
1 5
1
5 3 13 3
1 5
1 5
1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3
1 5
1 5
1 5
1 5
1 3
1 3
1 3
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Minimal N
2coloring → TDMA Schedule
2 0
1
4 2 0 4
5 5
5 5
5 3 3 3
5 15
5 5
5 3 3 3
5 15
5
1 5
5 3 3 3
1 5
1 5
5
1 5
5 3 3 3
1 5
1 5
1 5 1 5
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 3 3
1 5
1 5
1 5 1 5
1
5 3 13 3
1 5
1 5
1 5 1 5
1 5
1 3
1
3 3
1 5
1 5
1 5 1 5
1 5
1 3
1 3
1 3
1 5
1 5 1 5
1 5
1 3
1 3
1 3
Outline
Sensor Networks and Self-stabilization Model(s)
Cached Sensornet Self-stabilizing Unison TDMA
Motivation Algorithm stack Clustering
Density
Self-stabilizing Clustering 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
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Density
ρ(u) = |{e= (v,w)∈E|w∈{u}∪Nu andv∈Nu}|
|Nu|
a
b c
d j
e
f
g h
i
a
b
d e
g h
i
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Density
ρ(u) = |{e= (v,w)∈E|w∈{u}∪Nu andv∈Nu}|
|Nu|
a
c
d j
e
f
h i a
c
d j
e
f
h i
Density
ρ(u) = |{e= (v,w)∈E|w∈{u}∪Nu andv∈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
a 1.33
c 1
d 1.75
j 1.5
e 1.8
f 1.33
h 1
i 1
a 1.33
b 1.75 c
1
d 1.75
j 1.5
e 1.8
f 1.33
g 1.5
h 1
i 1 a
1.33
b 1.75 c
1
d 1.75
j 1.5
e 1.8
f 1.33
g 1.5
h 1
i 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cluster Head Heuristics
a 1.33
b 1.75 c
1
d 1.75
j 1.5
e 1.8
f 1.33
g 1.5
h 1
i 1 a
1.33
b 1.75 c
1
d 1.75
j 1.5
e 1.8
f 1.33
g 1.5
h 1
i 1
a 1.33
b 1.75 1
d 1.75
e 1.8
g 1.5
h 1
i 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Cluster Head Heuristics
a 1.33
c 1
d 1.75
j 1.5
e 1.8
f 1.33
h 1
i 1 a
1.33
c 1
d 1.75
j 1.5
e 1.8
f 1.33
h 1
i 1 a
1.33
c 1
d 1.75
j 1.5
e 1.8
f 1.33
h 1
i 1
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Clustering
Basic Idea
I IdentifyNandN2
I Compute and broadcast density
I Attach to neighbor with higher density
I use identifiers to break ties
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Self-stabilizing Clustering
Basic Idea
I IdentifyNandN2
I Compute and broadcast density
I Attach to neighbor with higher density
Sensor Networks and Self-stabilization TDMA Clustering Conclusion
Faster Self-stabilizing Clustering
Basic Idea
I IdentifyNandN2
I Compute and broadcast density
I RandomL(1, 1)coloring withδ2colors
I This can be done in expectedO(1)time
I Attach to neighbor with higher density
I usecolorsto break ties