Software Architecture Design of Wireless Sensor Networks

Download Report

Transcript Software Architecture Design of Wireless Sensor Networks

Software Architecture
Design of Wireless Sensor
Networks
John Henkel
Overview
Wireless sensor networks – concepts
and applications
 Characteristics and Requirements
 Comparison of two proposed
software architectures
 Quick glance at the applicable design
processes.

What exactly are WSNs?

Self-organizing network comprised of
wireless nodes which collect data
• Many different sensors
• Concept size 10s to 100,000s of nodes
Dynamic Network Organization
 Cooperative Processing

Why to we care?

Hot Research Topic Today
• Large Amounts of Government and Corporate
Funding

Variety of applications
• Military
• Industrial Control


Process control
Inventory (RFID)
• Civil Engineering
• Day to day life


Virtual keyboards!
Interfaces for the disabled
Noteworthy Research Projects
Berkley’s smartdust
 PicoRadio
 WeBS


Why so few?
Difficulties

Hardware
• Size
• Power
• Life / Robustness

Software
• Fault tolerant design
• Highly embedded systems
• Optimize for energy efficiency
• Concurrency intensive
Again, why do we care?

WSN Characteristics point to a
unique architecture.
• Mutilayered, just like any network
architecture.
• Unique in terms of the distributed
layers.
Berkley to the rescue

Berkley made TinyOS
• Tiny microthreading operating system
• Provides a good framework:
Concurrency intensive
 Efficient modularity
 Effective hardware management

WSN Characteristics

Self Organizing
• Large numbers of nodes
• Robust operation

No redundancy
• Fault tolerance

If a node fails, will the network recover?
WSN Characteristics

Concurrency and Cooperative
Processing
• Limited memory
• Triangulation
• Sensor data acquisition, processing,
targeting

Data aggregation
WSN Characteristics

Energy Efficiency
• Nodes in a WSN have limited power
supplies
• Hostile Environments
• Architecture can play a large role.
• Power sensitive task scheduling
WSN Characteristics

Modularity
• The actual hardware of the nodes may
vary.

Temp sensors, hall effect, proximity, etc…
• While the drivers and software on each
node may be specific, the interface
presented to the distributed software
should be generic.
Basic Architecture

Client
• Connect at any place on the network

Sensor Application
• Requests certain information from the
network

Network software
• Handles request, maintenance, etc…

Node specific software and hardware
Software Architecture Components

Middleware
• “….the software layer between operating
system and sensor application on the
one hand and the distributed application
which interacts over the network on the
other hand.” [2]
• In essence, the complexity and layer
architecture of the middleware defines
the software architecture of the entire
system.
What makes it special?

Scalable
• Should perform optimization based on resource constraints at
runtime

Adaptive
• Changes in the network and event under observation call for
change.


Network restructuring
Distributed application task reallocation
• Supports scalability and robustness

Reflective
• Changes the actual behavior of layers on the fly


Example: The modification of routing strategy depending on
mobility.
Generic
• Standard or generic interfaces between middleware
components.
• Customize Application interfaces.
Architecture A – Basic Service
Oriented
Previous information and
requirements call for a flexible
software architecture.
 What happens if a sensor node is
regarded as the basic architectural
unit?

• Node software layers are required to
handle network maintenance and
service requests.
Node Application Structure


Node Application Structure [1].
OS handles tasks
specifically relating
to node operation.
Host middleware is
specifically tailored
to the node.
• Handles services
offered to the
network.
• Cooperative
algorithms, additional
modules, and Virtual
machine support to
enable platform
independent
application execution.
Sensor Network Software Architecture [1]
Sensor Network Software Architecture Cont..


Individual nodes interact with the
distributed middleware.
Together performs the actions requested
by the sensor application.
• Note: In this architecture node middleware
handles network formation and maintenance.


The distributed middleware exists logically
in the network layer, but physically in the
nodes.
Administrative terminal…
Disadvantages…

Energy Efficiency
• Network topology
Ad-hoc network
 Power available limits transmission range.
 Nodes surrounding the data-sink will die
sooner


Unnecessary overhead
Architecture B
A different network topology can
help with all the issues with the first
architecture.
 Clustering

• A cluster is a set of adjacent sensors
which are grouped together and
interface with the rest of the network
through a gateway, or cluster head [4].

Can also help with QoS.
Gateways?
Higher energy
nodes
 Perform data
aggregation
 Organize nodes
into subsets
 Maintain the
network in each
cluster

Example network cluster structure [4]
Architecture B


Cluster regarded
as the base
element.
Each node
communicates
with the data
sink only through
the gateway.
Distributed Cluster Middleware
Node A
Node B
Node C
Middleware
Middleware
Middleware
Operating
System
Operating
System
Operating
System
Hardware
Hardware
Hardware
Architecture B

Clusters are required to exhibit dynamical
behavior.
• Cluster localization.
• Cluster formation and management on the fly as nodes
move, drop in and out, or the phenomena
moves/changes.
• Cluster can overlap spatially, but nodes cannot belong to
multiple clusters.

Four main
layers
• Application
• Resource
Management
• Cluster
• Sensor
Network
Layer
Resource Management Layer

Controls resource allocation and
adaptation
• Just a little important, yes?
• Adapt to environment and system
changes
• Tasks need to be reallocated
• Guarantee QoS (or try to)
Advantages

Dynamic cluster formation
• Increase network capacity
• Power conservation

IF distributed and energy aware protocols
are used.
• Different maximum transmission ranges
/ power levels
Specifically provides for QoS
 More manageable?

Disadvantages

Overhead
• Dynamic cluster formation
• Resource allocation

Information and statistics gathering
• Frequency of polling

Depends on implementation
• Fault tolerance
Clustering increases vulnerability
 Time wasted in network reconfiguration
 Ad-hoc as a backup

Architecture B

Modifications to reduce
disadvantages
• Redundant gateways
• Avoid full-scale reclustering
So what about the process?

Node Software
• Highly sensitive to
performance
• Lends itself to an
iterative design
process

Application /
distributed
middleware
• Not quite as sensitive
Conclusion
Wireless = cool. Or, at least,
frustrating.
 Efficiency is a big issue in WSNs

• Means good software design is a
necessity.

It all comes down to meeting
requirements.
Questions
References






References
Blumenthal, Jan; Handy, Matthias; Golatowski, Frank; Hasse, Marc;
Timmermann, Dirk. Wireless Sensor Networks – New Challenges in
Software Engineering. Emerging Technologies and Factory Automation,
2003. Proceedings. ETFA '03. IEEE Conference , Volume: 1 , 16-19 Sept.
2003
Hill, Jason; Szewczyk, Robert; Woo, Alec; Hollar, Seth; Culler, David;
Pister; Kristofer. System Architecture Directions for Networked Sensors.
ASPLOS 2000.
Yu, Yang; Krishnamachari, Bhaskar; Prasanna, Viktor K. Issues in
Designing Middleware for Wireless Sensor Networks. IEEE Network,
Volume: 18 , Issue: 1 , Jan/Feb 2004
Pages:15 – 21. Copyright 2004 IEEE.
Gupta, G.; Younis, M. Fault-Tolerant Clustering of Wireless Sensor
Networks Wireless Communications and Networking, 2003. WCNC 2003.
2003 IEEE , Volume: 3 , 16-20 March 2003. Pages:1579 - 1584 vol.
Copyright 2003 IEEE.
Liu, J.; Li, B., Distributed Topology Control in Wireless Sensor Networks
with Asymmetric Links, Global Telecommunications Conference, 2003.
GLOBECOM '03. IEEE , Volume: 3 , 1-5 Dec. 2003, Pages:1257 - 1262
vol.3, Copyright IEEE 2003.
Stuff just for fun
http://robotics.eecs.berkeley.edu/~pi
ster/29Palms0103/
 http://robotics.eecs.berkeley.edu/~pi
ster/SmartDust/
