29
Andreas Larsson , Philippas Tsigas SIROCCO 2012 2012-07-02 Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems

Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems

  • Upload
    adair

  • View
    29

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

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

Ad-hoc networks

Page 3: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

Assigning cluster heads

Page 4: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

Uses of clusteringBackbones

Routing

Scaling

Saving power

Page 5: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

Aggregation using clusters

• Save power• Improve scaling• Facilitate routing

Page 6: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions

Page 7: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

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

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

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

OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions

Page 11: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

(k,r)-clusteringr=1

r=2

k=2

Page 12: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

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

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

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

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

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

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

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

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

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

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

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

OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions

Page 24: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

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

Malicious/faulty nodes

Multiple paths

Bottlenecksproblematic

Limited Influencer to 2r hops

Page 26: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

OutlineClusteringSelf-stabilizationOur Self-stabilizing (k,r)-clustering AlgorithmFault Tolerance PropertiesConclusions

Page 27: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

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

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

Page 29: Self-stabilizing (k,r)-Clustering  in Clock Rate-limited Systems

Thank you for your attention!

Andreas [email protected]