• Keine Ergebnisse gefunden

Message transm. time T

N/A
N/A
Protected

Academic year: 2022

Aktie "Message transm. time T"

Copied!
16
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Example Plot (1/2)

Number of nodes n = 10

Delay + turnaround time  = 1 ms

Message transm. time T

M

= 5 ms

Preamble transm. times T

P

= 25, 75, and 150 ms

Time used to check for preamble T

C

= 1 ms

Transmission power consumption P

TX

= 9 mW

Reception power consumption P = 1.8 mW

(2)

Example Plot (2/2)

P()

Plain

CSMA

(3)

Übersicht

Beispielanwendungen

Sensorhardware und Netzarchitektur

Herausforderungen und Methoden

MAC-Layer-Fallstudie IEEE 802.15.4

Energieeffiziente MAC-Layer

S-MAC und T-MAC

B-MAC

X-MAC und Wise-MAC

WSN-Programmierung

(4)

Problem: Sources of Energy Waste

S1

S2

S3

wakeup wakeup

wakeup wakeup

t1 t2

sleep again receive packet

Packet(s1)

Preamble

1

3 2

1 2

Useless reception of remaining preamble

3

Useless overhearing of preamble

Useless transmission of remaining preamble

(5)

X-MAC: Strobe Preamble Sampling (1/2)

S1

S2

S3

wakeup

wakeup

strobe(s1)

not for me, sleep again

receive packet

Data strobe(s1) strobe(s1)

ack for me, send ack

send packet Conceptually, if |strobe(s1)|  0 and |ack|  0, this looks like …

(6)

X-MAC: Strobe Preamble Sampling (2/2)

S1

S2

S3

wakeup

wakeup

receive

Data send Strobes for s1

sleep full sleep cycle again sleep again

wakeup

t

(7)

Problem: Source of Energy Waste

S1

S2

S3

wakeup

wakeup

receive

Data send

sleep full sleep cycle again sleep again

wakeup

t Strobes for s1

Strobes immediately before time t when s1 wakes up would be sufficient. But, how to know time t ?!?

(8)

WiseMAC: Announce Wakeup Schedule

S1

S2

S3

wakeup

wakeup

receive

data

sleep again

wakeup

t2 prb

Schedule list s1 : t2 = t1 + x

ack

Nextwakeup in x ms

t1 t2 

data

Previous transmission Next transmission

(9)

Übersicht

Beispielanwendungen

Sensorhardware und Netzarchitektur

Herausforderungen und Methoden

MAC-Layer-Fallstudie IEEE 802.15.4

Energieeffiziente MAC-Layer

WSN-Programmierung

Laufzeitumgebungen

Fallstudie TinyOS

(10)

Operating system challenges in WSN

Usual operating system goals

Make access to device resources abstract (virtualization)

Protect resources from concurrent access

Usual means

Protected operation modes of the CPU – hardware access only in these modes

Processes with separate address spaces

Support by a memory management unit

Problem: These are not available in microcontrollers

No separate protection modes, no memory management unit

Would make devices more expensive, more power- hungry

! ???

(11)

Operating system challenges in WSN

Possible options

Try to implement “as close to an operating system” on WSN nodes

In particular, try to provide a known programming interface

Namely: support for processes!

Sacrifice protection of different processes from each other

! Possible, but relatively high overhead

Do (more or less) away with operating system

After all, there is only a single “application” running on a WSN node

No need to protect malicious software parts from each other

Direct hardware control by application might improve efficiency

Currently popular verdict: no OS, just a simple run- time environment

Enough to abstract away hardware access details

Biggest impact: Unusual programming model

(12)

Main issue: How to support concurrency

Simplest option: No concurrency, sequential processing of tasks

Not satisfactory: Risk of missing data (e.g., from transceiver) when processing data, etc.

! Interrupts/asynchronous operation has to be supported

Why concurrency is needed

Sensor node’s CPU has to service the radio modem, the actual

sensors, perform computation for application, execute communication protocol software, etc.

Poll sensor

Process sensor

data

Poll transceiver

Process received

packet

(13)

Traditional concurrency: Processes

Traditional OS:

processes/threads

Based on interrupts, context switching

But: not available – memory overhead, execution overhead

Handle sensor process

Handle packet process

OS-mediated process switching

(14)

Event-based concurrency

Alternative: Switch to event-based programming model

Perform regular processing or be idle

React to events when they happen immediately

Basically: interrupt handler

Problem: must not remain in interrupt handler too long

Danger of loosing events

Only save data, post information that event has happened, then return

! Run-to-completion principle

Two contexts: one for handlers, one for regular execution

Idle / Regular processing

Radio event

Radio event handler Sensor

event

Sensor event handler

(15)

Components instead of processes

Need an abstraction to group functionality

Replacing “processes” for this purpose

E.g.: individual functions of a networking protocol

One option: Components

Here: In the sense of TinyOS

Typically fulfill only a single, well-defined function

Main difference to processes:

Component does not have an execution

Components access same address space, no protection against each other

(16)

API to an event-based protocol stack

Usual networking API: sockets

Issue: blocking calls to receive data

Ill-matched to event-based OS

Also: networking semantics in WSNs not necessarily well matched to/by socket semantics

API is therefore also event-based

E.g.: Tell some component that some other component wants to be informed if and when data has arrived

Component will be posted an event once this condition is met

Details: see TinyOS example discussion below

Referenzen

ÄHNLICHE DOKUMENTE

Such a strategy is still in the earliest stage of discussion in Austria and the present program is designed to pro- mote this process (Part C). The specific case study presented

Overall, recently released German data show a large increase in immigration of people from Spain, Italy, Greece and Portugal in 2012.. In the case of Greece and Spain,

The three main contributions of our work, which explic- itly focus on data stream visualization issues, are 1) a generic processing and analysis architecture for event data streams

In conclusione, una funzione di autocorrelazione temporale ci dice per quanto tempo una certa proprietà del sistema permane prima che venga mediata a zero dalle fluttuazioni

Apart from the duplicate event detection rate, we have also studied the task- based performance of the selected techniques in terms of precision and recall.. Figure 5 summarizes

In the example shown, 10 samples are grouped using 3 clusters; the first row shows the 3-cluster representatives, and the time series (already scaled) Figure 4.. Ten time series

• Protocol state machines specify which behavioral features of a classifier can be called in which state and under which condition and what effects are expected. • particularly

• Protocol state machines specify which behavioral features of a classifier can be called in which state and under which condition and what effects are expected. • particularly