self-stabilizing (k,r)-clustering in clock rate-limited systems
DESCRIPTION
Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems. Andreas Larsson , Philippas Tsigas SIROCCO 2012 2012-07-02. Ad-hoc networks. Assigning cluster heads. Uses of clustering. Backbones Routing. Scaling Saving power. Aggregation using clusters. Save power Improve scaling - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/1.jpg)
Andreas Larsson, Philippas Tsigas
SIROCCO 20122012-07-02
Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems
![Page 2: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/2.jpg)
Ad-hoc networks
![Page 3: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/3.jpg)
Assigning cluster heads
![Page 4: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/4.jpg)
Uses of clusteringBackbones
Routing
Scaling
Saving power
![Page 5: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/5.jpg)
Aggregation using clusters
• Save power• Improve scaling• Facilitate routing
![Page 6: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/6.jpg)
OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions
![Page 7: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/7.jpg)
Self-stabilization
Transient faults
Transient attacks
Global restart
Local self-stabilization
Working system
Inconsistent state
![Page 8: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/8.jpg)
Self-stabilization:• Stabilize from an arbitrary state to
a consistent state• Once consistent, stay consistent
Self-stabilization
![Page 9: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/9.jpg)
Self-stabilization trade-offsWe get
A system that can recoverThat can tolerate infrequent topology changes
The costsWe can never stop
Cannot know when a transient fault happensEffort is needed to check for and take care of
inconsistent internal valuesAssume that program code is in ROM
![Page 10: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/10.jpg)
OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions
![Page 11: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/11.jpg)
(k,r)-clusteringr=1
r=2
k=2
![Page 12: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/12.jpg)
The (k,r)-clustering task All nodes should have
k cluster heads within r hops including the cluster heads themselves
The number of cluster heads should be minimal Local minimum – no cluster head can be
removed without violating “k within r hops” Local in terms of search space
Global minimum to expensive – NP-complete
![Page 13: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/13.jpg)
Related workRavelomanana, 2005
Self-stabilizing (k,1)-clusteringDolev and Tzachar, 2009
Self-stabilizing (1,r)-clusteringSpohn and Garcia, 2007
(k,r)-clustering, not self-stabilizingLarsson and Tsigas, 2011
Self-stabilizing (k,r)-clusteringMore restricted system settings
![Page 14: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/14.jpg)
System settings – clocksLimit on clock rate differences
Clock frequencies in [1, λ]For one unit of real time the clocks of all nodes advances
an amount between 1 and λλ – maximum ratio between clock frequencies of any pair
of nodesλ is known by the nodesNo clock synchronizationOne message is sent for every unit of time in the
local clock
14
![Page 15: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/15.jpg)
System settings – communicationsLimited reliability of broadcasts
At least one broadcast out of π reaches all neighbors
Symmetric linksSlowly dynamic network
No mobilityWe cope with topology changes
![Page 16: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/16.jpg)
The algorithmTwo parallel mechanisms
Electing cluster headsAt least k within r
Cluster heads escapingReaching local minimumLocal in terms of search space
Local floodsMerging of information
Data to send outData to forward for others
Every round:If |heads| < k elect a new headIf head and time for escape send escape attemptSend out:• id, state, elections, escapes• Forward from others
At receipt:If elected a head become headIf head attempts escape if head is needed stop attempt
16
![Page 17: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/17.jpg)
Our algorithm – deterministic electionEvery round:If |heads| < k elect a new headIf head and time for escape send escape attemptSend out:• id, state, elections, escapes• Forward from others
At receipt:If elected a head become headIf head attempts escape if head is needed stop attempt
![Page 18: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/18.jpg)
Every round:If |heads| < k elect a new headIf head and time for escape send escape attemptSend out:• id, state, elections, escapes• Forward from others
At receipt:If elected a head become headIf head attempts escape if head is needed stop attempt
Our algorithm – probabilistic escapes
Reaching local minimum:• Repeated attempts• Random start times• Proven probabilistic guarantees
Local minimum:Any one removed cluster
head will violate “k within r”
![Page 19: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/19.jpg)
Stabilization of the electionEvery round:If |heads| < k elect a new headIf head and time for escape send escape attemptSend out:• id, state, elections, escapes• Forward from others
At receipt:If elected a head become headIf head attempts escape if head is needed stop attempt
Repeatedly sendID, state and elections
![Page 20: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/20.jpg)
Every round:If |heads| < k elect a new headIf head and time for escape send escape attemptSend out:• id, state, elections, escapes• Forward from others
At receipt:If elected a head become headIf head attempts escape if head is needed stop attempt
Stabilization to local minima
Repeatedly try to escapeat random points in time
Needed already to assure uninterfered escape attempts
![Page 21: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/21.jpg)
Stabilization time – electionsEnough cluster heads within O(π r λ∙ ∙ 3) time
At least k cluster heads within r hopsDeterministic upper bound
Message reaches one hop after at most π transmissions
r hop neighborhoodGet to know neighborhoodGet election message out to elected node
Factors of λKnowledge back and forth of passed time of other
nodes
![Page 22: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/22.jpg)
Stabilization time – local minimumUninterfered escape attempt for a specific node in
O(π r λ∙ ∙ 4 g) time w.h.p.∙π and r once again for communicating back and forthExtra λ for another level of knowledge of other nodes
g is a known bound on # nodes within 2r hops=> bound on # potentially interfering cluster headsFunction of: density of network, or maximum node degreeApproximation works fine
Convergence of entire network in O(π r λ∙ ∙ 4 g log n) time ∙ ∙n is the number of nodes in the networkProbabilistic – with high probability
r r
![Page 23: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/23.jpg)
OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions
![Page 24: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/24.jpg)
Multiple pathsMultiple paths can improve
SecurityFault tolerance
We take advantage of them when they are present
Malicious and faulty nodes can be bypassed
We have more to explore in this area
![Page 25: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/25.jpg)
Malicious/faulty nodes
Multiple paths
Bottlenecksproblematic
Limited Influencer to 2r hops
![Page 26: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/26.jpg)
OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions
![Page 27: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/27.jpg)
ContributionSelf-stabilizing distributed (k,r)-clustering
algorithmNo reliance upon synchronizationCopes with lost messages
(k,r)-clustering – redundancyMultiple paths – help withstand attacks/faultsSelf-stabilization – recover from transient faults
![Page 28: Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems](https://reader035.vdocument.in/reader035/viewer/2022062520/56815c41550346895dca4215/html5/thumbnails/28.jpg)
Future workInvestigate and choose multiple paths
Investigate topology propertiesHave nodes select paths to their cluster heads
Investigate security aspectsAttacks and countermeasures against the
clustering algorithmCoping quickly with topology changes