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/