• Keine Ergebnisse gefunden

Backbone Construction

N/A
N/A
Protected

Academic year: 2022

Aktie "Backbone Construction"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Topology Control

Backbone Construction

(2)

Motivation: Backbone Construction

So far controlling topology by removing edges

Now topology control by removing nodes

Energy efficiency is the main application

Communication

Sensor coverage

Mitigate contention in a shared media is a

secondary goal

(3)

31

Motivation: Backbone Construction

Discussion on sensor radio

Active state: receiving or transmitting

Idle state: Listening into channel

Sleep state: Radio switched off

Significant energy savings due to sleep state

Placing as many nodes into sleep mode will prolong network lifetime

However, energy conserving sleep cycles are necessary

For the next we consider one such cycle

(4)

Dominating Sets

Definition: dominating set DS

Each node is either in DS or

Has a one-hop neighbor in DS

Definition: connected dominating set CDS

DS with nodes in DS forming a connected subgraph

Example

DS CDS

(5)

33

Dominating Sets

Most important concepts

Neighbor DS – traditional DS on communication graph

Area DS – any point in the area is covered by at least one sensor

Example use of Neighbor CDS: Broadcasting

Single node initiates broadcast and reaches CDS node

Only nodes in CDS rebroadcast

Any node in network will get broadcast message

Advantage: reduced communication overhead

Example use of Area DS: provide network of medium density

Fact: constructing minimum CDS is an NP-complete problem

Thus, interesting to find CDS schemes with good

approximation ratio

(6)

Clustering

Classification of nodes

Cluster – set of logically grouped nodes (here: nodes in vicinity)

Cluster head CH – coordinates it’s cluster

Cluster member CM – other nodes in cluster

Gateway node GW – interconnect of CHs

Example

CH

CH GW

cluster

cluster

(7)

Topology Control

Two Distributed Clustering

Examples

(8)

A Distributed Clustering Algorithm

Initial assumption

Nodes have an ID

Nodes are initially undecided

One-hop neighbors are known

Cluster formation

If all lower ID neighbors have sent cluster decision and

No one declared itself as clusterhead then

Decide to become clusterhead and

Broadcast decision to all neighbors

Cluster join

If receipt of CH decision of a neighbor node then

Declare self as non CH node and

Broadcast non-CH decision to all one-hop neighbors

Cluster interconnect

If received more than one CH node then

Declare self as gateway node

Improvement

Reduce number of clusterheads by using (degree, ID) in CH decision  example: only one clusterhead; node 6

Use remaining energy as ID  nodes with highest energy resources become CH

1

4 5

6

2 3

1

4 5

6

2 3

1

4 5

6

2 3

1

4 5

6

2 3 Initial network

Cluster formation

Cluster join

(9)

37

A Cluster Refinement Algorithm

Initial cluster setup

No messages received from other CHs

Declare as CH and

Inform neighbor nodes

Cluster migration

Periodically determine neighbor which is

Best node to become new CH

Definition: best neighbor

Node which as CH

(1) Maximizes number of followers and

(2) Minimizes overlap with other clusters

Example

Two initial CH become a single one

A

B

C

D E F

A

B

C

D E F

A

B

C

D E F

4

5

4

5

2 3

(10)

Topology Control

Dominating Sets

(11)

39

Dominating Set by Nominating Nodes

A simple scheme

Each node has an ID

Each node determines neighbor’s ID

Nominate neighbor with highest ID as DS node

Trivial: produces a DS

Non trivial: how to construct a CDS?

Example

3 1

2

5 4

Initial network

3 1

2

5 4

Nominations

3 1

2

5 4

Result

(12)

2D Cell-Based Dominating Set

Algorithm

Partition the plane into squares

Set square size such that nodes in a square S can hear each other

Nodes determine all other nodes in own square S

Node with highest ID gets the representative of the square

Easy to implement mobility extension

If square representative moves out of own square S1 then

Inform all nodes in square S1

Determine representative in new square S2

d

r S

S1

S2

(13)

41

2D Cell-Based Dominating Set

Is this always a connected DS?

Any transmission radius r keeps some squares in vicinity half covered

B C

A D

(14)

A Lightweight CDS Construction

Wu, Li: Preserve nodes which have two unconnected neighbors

Additional refinement:

A is covered by B if

each neighbor of A is also neighbor of B and

Key(A) < Key(B)

Only preserve those nodes not covered by any neighbor

Why lightweight?

No additional message exchange needed in case of positions and UDG

Otherwise two-hop neighbor information is sufficient

E H

G C

D A

J I

B F

K

L

(15)

43

A Lightweight CDS Construction

Refinement can be generalized

Node A is covered by B and C if

All neighbors of A are either neighbors of B or C or both and

Key(A)<Key(B) and Key(A)<Key(C)

Remove node A from DS if it is covered by B and C while

B and C are connected

A most general rule

Node A is covered by B1,…,Bk if

All neighbors of A are neighbor of at least one Bi and

Key(A) < min { Key(B1),…,Key(Bk) }

Remove node A from DS if it is covered by B1,…,Bk while

B1,…,Bk are connected

How to implement this rule efficiently? …

A

B C

(16)

A Lightweight CDS Construction

Efficient implementation of the most general rule

Each node checks if it is an intermediate node, i.e., if it has two unconnected neighbors

Each intermediate node A constructs a subgraph G of neighbor nodes with higher key values

Intermediate node A is in DS if it’s subgraph G is

Empty or disconnected or

connected but there exists a neighbor of A which is not a neighbor of any node in G

Node 4 is an

intermediate node 4 6

2 3 5

7

Subgraph of nodes with Key values greater than 4

6

5 7

(17)

45

Further Enhancements

Example: assume A, B, C are DS members

Recall: node A removes itself if any two neighbor nodes B and C satisfy

All neighbors of A are neighbor of B or C or both

Key(A) < min { Key(B), Key(C) }

B and C are connected

Node A stays in DS. Why?

Solution: use (already available) two-hop info B

D

C E A

(18)

Further Enhancements

Example

A is DS member because of C

E is DS member because of key(E) > key(A)

However, DS may consist of node A only

DS may consist of A only if key(E) < key(A) holds

Observation: quality of DS depends on key value

Solution: alternative rule definition

Node u is covered by node v iff

N(u)N(v) or

N(u)=N(v) and key(u)<key(v)

Example: E is covered by A

C B

D A

E

(19)

Summary

Other geometric structures and objectives

Containing EMST

Reducing Power Consumption

Handling directed graphs

Connectivity

Stochastics depending on node density

MST as a useful tool to reduce power and keep connectivity

k-connectivity

Backbone Construction

Example objective: switching off nodes to preserve energy

Example objective: reduce message overhead of broadcast

Two concepts: clustering and dominating sets

47

Referenzen

ÄHNLICHE DOKUMENTE

 Locally construct planar graph used by all neighbor nodes → 2-hop neighbor information needed.  Perform a local planar graph traversal until reaching the last node in view and

 Eine einfachere Lösung des Problems wird geliefert, indem man den komplexen Schnitt zweier Polygone durch eine geeignete Menge an Punkt-in-Polygon-Tests ersetzt.  Dazu

In the given example, there are four different affine transformations involved, and the one that is picked at a given step is randomized; each transformation has a

If we are interested in topdown deterministic types, it suffices to determine the set of paths in

Idea: Life Range Splitting.. Interference graphs for minimal live ranges on basic blocks are known as interval graphs:. vertex === interval.. The covering number of a vertex is given

• If the join point v is reached by more than one definition for the same variable x which is live at program point v , insert. definitions x = x; at the end of each

• The fixpoint algo provides us also with the set of actual parameters a ∈ D for which procedures are (possibly) called and all abstract values at their program points for each of

The originator code, time, and address on the drum are stored in an index in core memory, and the operator and/or station sending the message can be notified via