Data collection and dissemination
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Data Collection and Dissemination PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on
  • Presentation posted in: General

Data Collection and Dissemination. Learning Objectives. Understand Trickle – an data dissemination protocol for WSNs Understand data collection protocols in low-duty-cycled WSNs with unreliable links. Prerequisites. Module 5 Basic concepts of Computer Networks. Outline.

Download Presentation

Data Collection and Dissemination

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Data collection and dissemination

Data Collection and Dissemination


Learning objectives

Learning Objectives

  • Understand Trickle – an data dissemination protocol for WSNs

  • Understand data collection protocols in low-duty-cycled WSNs with unreliable links


Prerequisites

Prerequisites

  • Module 5

  • Basic concepts of Computer Networks


Outline

Outline

  • Data Dissemination

    • Estrablishing eventual consistency on a shared variable

    • Trickle – Address single packet

  • Data Collection

    • DSF


Data dissemination trickle

Data Dissemination - Trickle

[Dissemination_1]


Simple broadcast retransmission

Simple Broadcast Retransmission

  • Broadcast Storm Problem

    • Redundant rebroadcasts

    • Severe contention

    • Collision


Trickle

Trickle

  • Motivation

    • WSNs require network code propagation

  • Challenges

    • WSNs exhibit highly transient loss patterns, susceptible to environmental changes

    • WSNs network membership is not static

    • Motes must periodically communicate to learn when there is new code

      • Periodical metadata exchange is costly


Trickle requirement

Trickle Requirement

  • Low Maintenance

  • Rapid Propagation

  • Scalability


Trickle1

Trickle

  • An algorithm for code propagation and maintenance in WSNs

  • Based on “Polite Gossip”

    • Each node only gossip about new things that it has heard from its neighbors, but it won’t repeat gossip it has already heard, as that would be rude

  • Code updates “trickle” through the network


Trickle2

Trickle

  • Within a node time period

    • If a node hears older metadata, it broadcasts the new data

    • If a node hears newer metadata, it broadcasts its own metadata (which will cause other nodes to send the new code)

    • If a node hears the same metadata, it increases a counter

      • If a threshold is reached, the node does not transmit its metadata

      • Otherwise, it transmits its metadata


Trickle main parameters

Trickle – Main Parameters

  • Counter c: Count how many times identical metadata has been heard

  • k: threshold to determine how many times identical metadata must be heard before suppressing transmission of a node’s metadata

  • t: the time at which a node will transmit its metadata. t is in the range of [0, τ]


Trickle maintenance one example

Trickle Maintenance – One Example

  • Assume

    • No packet loss

    • Perfect interval synchronization

  • How to relax these assumptions?

[Dissemination_1]: Figure 3


Trickle impact of packet loss rates

Trickle – Impact of Packet Loss Rates


Trickle maintenance without synchronization short listen problem

Trickle Maintenance without Synchronization – Short Listen Problem

  • Mote B selects a small t on each of its three intervals

    • Although other motes transmit, mote B’s transmissions are never suppressed

  • The number of transmissions per intervals increases significantly

[Dissemination_1]: Figure 5


Trickle impact of short listen problem

Trickle – Impact of Short Listen Problem


Solution to short listen problem

Solution to Short Listen Problem

  • Instead of picking a t in the range [0, τ], t is selected in the range [τ/2, τ]


Propagation

Propagation

  • Tradeoff between different values of τ

    • A large τ

      • Low communication overhead

      • Slowly propagates information

    • A small τ

      • High communication overhead

      • Propagate more quickly

  • How to improve?

    • Dynamically adjust τ

      • Lower Boundτl

      • Upper Boundτh

[Dissemination_1]: Section 5


Trickle complete algorithm

Trickle Complete Algorithm


Data collection

Data Collection


Data collection1

Data Collection

  • Link-Quality based Data Forwarding

    • Wireless communication links are extremely unreliable

    • ETX: to find high-throughput paths on multiple

  • Sleep-Latency Based Forwarding

    • Duty Cycling: sensor nodes turn off their radios when not needed

      • Idle listening waste much energy

[Collection_2]


Sleep latency in low duty cycle sensor networks

Sleep Latency in Low Duty-Cycle Sensor Networks

Sleep now. Wake up in 57seconds

Sleep now. Wake up in 35 seconds

D

B

57s latency

35s latency

A

13s latency

4s latency

E

C

Sleep now. Wake up in 4 seconds

Sleep now. Wake up in 13 seconds

[Collection_2]


Unreliable radio links

Unreliable Radio Links

D

B

70%

90%

A

50%

95%

C

E


State of the art solutions etx

State-of-the-art Solutions: ETX

ETX only considers link quality

ETX = 1/0.5 + 1/0.5 = 4

B

50%, 100s

50%, 100s

Expected E2E delay is 400s

Sole link quality based solutions cannot help reduce E2E delay in extremely low-duty cycle sensor networks!

A

D

Expected E2E delay is 50s

40%, 10s

40%, 10s

C

ETX = 1/0.4 + 1/0.4 = 5


State of the art solutions dess

State-of-the-art Solutions: DESS

DESS = 10 + 10 = 20s

DESS only considers sleep latency

B

10%, 10s

10%, 10s

Expected E2E delay is 200s

Sole sleep latency based solutions cannot help reduce E2E delay in extremely low-duty cycle sensor networks!

D

A

Expected E2E delay is 40s

100%, 20s

100%, 20s

C

DESS = 20 + 20 = 40s


End to end delay vs duty cycle

End-to-End Delay vs. Duty Cycle

  • Suppose one fixed forwarding node

    • Suffer excessive delivery delays when waiting for the fixed receiver to wake up again if the ongoing packet transmission fails


End to end delay vs average link quality

End-To-End Delay vs. Average Link Quality

  • Given bad link quality, the end to end delay increases dramatically


Sensor states representation

Sensor States Representation

1

0

1

1

0

1

0

1

Off

On

  • Scheduling Bits

    • (10110101)*

  • Switching Rate

    • 0.5HZ 16s round time


Data delivery process

Data Delivery Process

(

1

0

0

0

0

0

0

0

0

0

)*

(

0

1

0

0

0

0

0

0

0

0

)*

(

0

0

0

1

0

0

0

0

0

0

)*

(

0

0

0

0

0

0

1

0

0

0

)*

1

2

3

4

Sleep latency is 1

Sleep latency is 2

Sleep latency is 3

End to End (E2E) Delay is 6


Main idea

Main Idea

Sleep latency is 1

1st attempt: Sleep latency is 1

We should try a sequence of forwarding nodes instead of a fixed forwarding node!

(

1

0

0

0

0

0

0

0

0

0

)*

(

0

1

0

0

0

0

0

0

0

0

)*

(

0

0

0

1

0

0

0

0

0

0

)*

(

0

0

0

0

0

0

1

0

0

0

)*

1

2

3

4

(

0

0

1

0

0

0

0

0

0

0

)*

5

Dynamic Switching-based Forwarding (DSF) is important in extremely low duty-cycle sensor networks.

ith attempt: Sleep latency is 1 + 10 * (i-1)

2nd attempt: Sleep latency is 1 + 10 =11

2nd attempt: Sleep latency is 1 + 1 =2


Optimization objectives

Optimization Objectives

  • EDR: Expected Delivery Ratio

  • EED: Expected End-to-End Delay

  • EEC: Expected Energy Consumption


Optimization objectives 1 edr

Optimization Objectives(1) : EDR

Forwarding Sequence

EDR: Expected Delivery Ratio.

2

(0100)*

EDR = 70%

(1000)*

60%

1

3

EDR for node 1 is (EDR1):

(0010)*

EDR = 80%

50%

0.6*0.7

+ (1-0.6)*0.5*0.8

40%

+ (1-0.6)*(1-0.5)*0.4*0.9=0.652

4

(0001)*

EDR = 90%

See Equation (3)


Optimization objectives 2 eed

Optimization Objectives(2) : EED

Forwarding Sequence

EED: Expected E2E Delay.

2

(001000)*

EDR = 70%,

EED = 10

(100000)*

60%,2

1

3

EED for node 1 is (EED):

(000010)*

EDR = 80%, EED = 12

50%, 3

40%,5

0.6*1/0.7 * (2 + 10) + (1-0.6) * 0.5 * 1 /0.8 * (3 + 12) + (1-0.6)*(1-0.5)*0.4*1/0.9 * (5 + 9)

4

(000001)*

EDR = 90%,

EED = 9

See Equation (4)


Optimizing edr

Optimizing EDR

Shall we try all available neighbors?

If both node 2 and node 3 are selected as forwarding nodes:

EDR1 = 1 * 0.7 = 0.7

2

(010)*

EDR = 70%

(100)*

100%

We should only choose a subset of neighboring nodes as forwarding nodes!

1

100%

If only node 3 is selected as forwarding node:

EDR1 = 1 * 0.8 = 0.8

3

(001)*

EDR = 80%


Optimizing edr with dynamic programming

Optimizing EDR with dynamic programming

Try or skip

2

Select only a subset of neighbors as forwarders

(010)*

EDR = 70%

(100)*

60%

Try or skip

Node 4 has to be selected

1

3

(001)*

EDR = 80%

50%

Then we attempt to add more nodes into the forwarding sequence backwardly.

40%

Try or drop

4

(100)*

EDR = 90%


Distributed implementation

Distributed Implementation

  • EDRb(Ø) = 1

    • The sink node has no packet loss

  • EEDb(Ø) = 0

    • The sink node has no delay

  • EECb(Ø) = 0

    • The sink node has no energy consumption


Distributed implementation1

Distributed Implementation

  • EDR = 99%, EED = 15, EEC = 2

  • EDR = 98%, EED = 2, EEC = 1

1

3

  • EDR = 100%, EED = 0, EEC = 0

sink

2

4

  • EDR = 97%, EED = 20, EEC = 5

  • EDR = 90%, EED = 90, EEC = 12


Complete protocol implementation at node e

Complete Protocol Implementation at Node e


Assignment

Assignment

  • 1. Please give one example to illustrate what the short-listen problem in the context of Trickle algorithms is.

  • 2. How does Trickle algorithms solve the short-listen problem?

  • 3. Why do not we use a constant τ in Trickle algorithm?

  • 4. Why do we need to consider both link quality and the low-duty-cycle nature of wireless sensor networks when we design suitable applications?


Project

Project

  • This is a group project. Each group can have up to 3 students

  • Project Description

  • In this project, you will develop a multi-hop data collection tree protocol based on TinyOS 2.x.

    1. Development of a multi-hop data collection tree protocol

    1.1 The protocol to form a multi-hop data collection tree

    The base station locally broadcast a tree construction message, which includes its own ID and its depth to be 0;

    a. When a node, say A, receives a tree construction message from node B at its first time (i.e., node A has not joined the data collection tree yet), node A assigns its depth to be the depth of node B plus one, and its parent to be node B. After this, node A rebroadcasts the tree construction message.


Project continue

Project - continue

b. When a node, say A, already joins the data collection tree and receives a tree construction message from node B, node A just simply disregards the tree construction message.

c. When a node, say A, already joins the data collection tree (suppose that node A’s parent is node B and node A’s depth is n) and receives a tree construction message from node C:

1. suppose that if node A selects node C as its parent, node A’s depth is m;

2. suppose m < n;

node A will change its parent to node C.


Project continue1

Project - continue

one example multi-hop data collection tree


Project continue2

Project - continue

  • Also see attached slide tree.ppt for a dynamic view about how to construct a multi-hop data collection tree.

    1.2 After the multi-hop data collection tree is formed, each node senses and transmits its light intensity to the base station every one second. For each received message, the base station displays the following information:

    • Node ID which originates the message;

    • Tree depth of the Node;

    • Sensed light value


Project continue3

Project - continue

  • Basic Steps:

    Please follow the steps listed below:

    1. Setting up TinyOS environment - XubunTOS

    XubunTOS can be downloaded here:

    http://toilers.mines.edu/Public/XubunTOS

    2. Go through the TinyOS tutorials at http://docs.tinyos.net/index.php/TinyOS_Tutorials


  • Login