Upload
norma-mccarthy
View
222
Download
0
Embed Size (px)
Citation preview
Software Architecture Software Architecture Design of Wireless Sensor Design of Wireless Sensor
NetworksNetworksJohn HenkelJohn Henkel
OverviewOverview
Wireless sensor networks – concepts Wireless sensor networks – concepts and applicationsand applications
Characteristics and RequirementsCharacteristics and Requirements Comparison of two proposed Comparison of two proposed
software architecturessoftware architectures Quick glance at the applicable design Quick glance at the applicable design
processes.processes.
What exactly are WSNs?What exactly are WSNs?
Self-organizing network comprised of Self-organizing network comprised of wireless nodes which collect datawireless nodes which collect data• Many different sensorsMany different sensors• Concept size 10s to 100,000s of nodesConcept size 10s to 100,000s of nodes
Dynamic Network OrganizationDynamic Network Organization Cooperative ProcessingCooperative Processing
Why to we care?Why to we care? Hot Research Topic TodayHot Research Topic Today
• Large Amounts of Government and Corporate Large Amounts of Government and Corporate FundingFunding
Variety of applicationsVariety of applications• MilitaryMilitary• Industrial ControlIndustrial Control
Process controlProcess control Inventory (RFID)Inventory (RFID)
• Civil EngineeringCivil Engineering• Day to day lifeDay to day life
Virtual keyboards!Virtual keyboards! Interfaces for the disabledInterfaces for the disabled
Noteworthy Research ProjectsNoteworthy Research Projects
Berkley’s smartdustBerkley’s smartdust PicoRadioPicoRadio WeBSWeBS
Why so few?Why so few?
DifficultiesDifficulties
HardwareHardware• SizeSize• PowerPower• Life / RobustnessLife / Robustness
SoftwareSoftware• Fault tolerant designFault tolerant design• Highly embedded systemsHighly embedded systems• Optimize for energy efficiencyOptimize for energy efficiency• Concurrency intensive Concurrency intensive
Again, why do we care?Again, why do we care?
WSN Characteristics point to a WSN Characteristics point to a unique architecture.unique architecture.• Mutilayered, just like any network Mutilayered, just like any network
architecture.architecture.• Unique in terms of the distributed Unique in terms of the distributed
layers.layers.
Berkley to the rescueBerkley to the rescue
Berkley made TinyOSBerkley made TinyOS• Tiny microthreading operating systemTiny microthreading operating system• Provides a good framework:Provides a good framework:
Concurrency intensiveConcurrency intensive Efficient modularityEfficient modularity Effective hardware managementEffective hardware management
WSN CharacteristicsWSN Characteristics
Self OrganizingSelf Organizing• Large numbers of nodesLarge numbers of nodes• Robust operationRobust operation
No redundancyNo redundancy
• Fault toleranceFault tolerance If a node fails, will the network recover?If a node fails, will the network recover?
WSN CharacteristicsWSN Characteristics
Concurrency and Cooperative Concurrency and Cooperative ProcessingProcessing• Limited memoryLimited memory• TriangulationTriangulation• Sensor data acquisition, processing, Sensor data acquisition, processing,
targetingtargeting Data aggregationData aggregation
WSN CharacteristicsWSN Characteristics
Energy EfficiencyEnergy Efficiency• Nodes in a WSN have limited power Nodes in a WSN have limited power
suppliessupplies• Hostile EnvironmentsHostile Environments• Architecture can play a large role.Architecture can play a large role.• Power sensitive task schedulingPower sensitive task scheduling
WSN CharacteristicsWSN Characteristics
ModularityModularity• The actual hardware of the nodes may The actual hardware of the nodes may
vary.vary. Temp sensors, hall effect, proximity, etc…Temp sensors, hall effect, proximity, etc…
• While the drivers and software on each While the drivers and software on each node may be specific, the interface node may be specific, the interface presented to the distributed software presented to the distributed software should be generic.should be generic.
Basic ArchitectureBasic Architecture
ClientClient• Connect at any place on the networkConnect at any place on the network
Sensor ApplicationSensor Application• Requests certain information from the Requests certain information from the
networknetwork Network softwareNetwork software
• Handles request, maintenance, etc…Handles request, maintenance, etc… Node specific software and hardwareNode specific software and hardware
Software Architecture ComponentsSoftware Architecture Components
MiddlewareMiddleware• “…“….the software layer between .the software layer between
operating system and sensor application operating system and sensor application on the one hand and the distributed on the one hand and the distributed application which interacts over the application which interacts over the network on the other hand.” [2] network on the other hand.” [2]
• In essence, the complexity and layer In essence, the complexity and layer architecture of the middleware defines architecture of the middleware defines the software architecture of the entire the software architecture of the entire system.system.
What makes it special?What makes it special? ScalableScalable
• Should perform optimization based on resource constraints at Should perform optimization based on resource constraints at runtime runtime
AdaptiveAdaptive• Changes in the network and event under observation call for Changes in the network and event under observation call for
change.change. Network restructuringNetwork restructuring Distributed application task reallocationDistributed application task reallocation
• Supports scalability and robustnessSupports scalability and robustness ReflectiveReflective
• Changes the actual behavior of layers on the flyChanges the actual behavior of layers on the fly Example: The modification of routing strategy depending on Example: The modification of routing strategy depending on
mobility.mobility. GenericGeneric
• Standard or generic interfaces between middleware Standard or generic interfaces between middleware components.components.
• Customize Application interfaces.Customize Application interfaces.
Architecture A – Basic Service Architecture A – Basic Service OrientedOriented
Previous information and Previous information and requirements call for a flexible requirements call for a flexible software architecture.software architecture.
What happens if a sensor node is What happens if a sensor node is regarded as the basic architectural regarded as the basic architectural unit?unit?• Node software layers are required to Node software layers are required to
handle network maintenance and handle network maintenance and service requests.service requests.
Node Application Structure Node Application Structure
Node Application Structure [1].
OS handles tasks OS handles tasks specifically relating specifically relating to node operation.to node operation.
Host middleware is Host middleware is specifically tailored specifically tailored to the node.to the node.• Handles services Handles services
offered to the offered to the network.network.
• Cooperative Cooperative algorithms, additional algorithms, additional modules, and Virtual modules, and Virtual machine support to machine support to enable platform enable platform independent independent application execution.application execution.
Sensor Network Software Architecture [1]Sensor Network Software Architecture [1]
Sensor Network Software Architecture Cont..Sensor Network Software Architecture Cont..
Individual nodes interact with the Individual nodes interact with the distributed middleware. distributed middleware.
Together performs the actions requested Together performs the actions requested by the sensor application.by the sensor application.• Note: In this architecture node middleware Note: In this architecture node middleware
handles network formation and maintenance.handles network formation and maintenance. The distributed middleware exists logically The distributed middleware exists logically
in the network layer, but physically in the in the network layer, but physically in the nodes.nodes.
Administrative terminal…Administrative terminal…
Disadvantages…Disadvantages…
Energy EfficiencyEnergy Efficiency• Network topologyNetwork topology
Ad-hoc networkAd-hoc network Power available limits transmission range.Power available limits transmission range. Nodes surrounding the data-sink will die Nodes surrounding the data-sink will die
soonersooner
Unnecessary overheadUnnecessary overhead
Architecture BArchitecture B
A different network topology can help A different network topology can help with all the issues with the first with all the issues with the first architecture.architecture.
ClusteringClustering• A cluster is a set of adjacent sensors A cluster is a set of adjacent sensors
which are grouped together and which are grouped together and interface with the rest of the network interface with the rest of the network through a through a gatewaygateway, or cluster head [4]., or cluster head [4].
Can also help with QoS. Can also help with QoS.
Gateways?Gateways?
Higher energy Higher energy nodesnodes
Perform data Perform data aggregationaggregation
Organize nodes Organize nodes into subsetsinto subsets
Maintain the Maintain the network in each network in each clustercluster Example network cluster structure [4]
Architecture BArchitecture B
Cluster regarded Cluster regarded as the base as the base element.element.
Each node Each node communicates communicates with the data with the data sink only through sink only through the gateway.the gateway.
Distributed Cluster Middleware
Middleware
Operating System
Hardware
Node A
Middleware
Operating System
Hardware
Node B
Middleware
Operating System
Hardware
Node C
Clusters are required to exhibit dynamical Clusters are required to exhibit dynamical behavior.behavior.• Cluster localization.Cluster localization.• Cluster formation and management on the fly as nodes Cluster formation and management on the fly as nodes
move, drop in and out, or the phenomena move, drop in and out, or the phenomena moves/changes.moves/changes.
• Cluster can overlap spatially, but nodes cannot belong to Cluster can overlap spatially, but nodes cannot belong to multiple clusters.multiple clusters.
Architecture BArchitecture B
Four main Four main layerslayers• ApplicationApplication• Resource Resource
ManagementManagement• ClusterCluster• Sensor Sensor
Network Network LayerLayer
Resource Management LayerResource Management Layer
Controls resource allocation and Controls resource allocation and adaptationadaptation• Just a little important, yes?Just a little important, yes?• Adapt to environment and system Adapt to environment and system
changeschanges• Tasks need to be reallocatedTasks need to be reallocated• Guarantee QoS (or try to)Guarantee QoS (or try to)
AdvantagesAdvantages
Dynamic cluster formationDynamic cluster formation• Increase network capacityIncrease network capacity• Power conservationPower conservation
IF distributed and energy aware protocols IF distributed and energy aware protocols are used.are used.
• Different maximum transmission Different maximum transmission ranges / power levelsranges / power levels
Specifically provides for QoSSpecifically provides for QoS More manageable?More manageable?
DisadvantagesDisadvantages
OverheadOverhead• Dynamic cluster formationDynamic cluster formation• Resource allocationResource allocation
Information and statistics gatheringInformation and statistics gathering• Frequency of pollingFrequency of polling
Depends on implementationDepends on implementation
• Fault toleranceFault tolerance Clustering increases vulnerabilityClustering increases vulnerability Time wasted in network reconfigurationTime wasted in network reconfiguration Ad-hoc as a backupAd-hoc as a backup
Architecture BArchitecture B
Modifications to reduce Modifications to reduce disadvantages disadvantages • Redundant gatewaysRedundant gateways• Avoid full-scale reclusteringAvoid full-scale reclustering
So what about the process?So what about the process?
Node SoftwareNode Software• Highly sensitive to Highly sensitive to
performanceperformance• Lends itself to an Lends itself to an
iterative design iterative design processprocess
Application / Application / distributed distributed middlewaremiddleware• Not quite as sensitiveNot quite as sensitive
ConclusionConclusion
Wireless = cool. Or, at least, Wireless = cool. Or, at least, frustrating.frustrating.
Efficiency is a big issue in WSNsEfficiency is a big issue in WSNs• Means good software design is a Means good software design is a
necessity.necessity. It all comes down to meeting It all comes down to meeting
requirements.requirements.
QuestionsQuestions
ReferencesReferences ReferencesReferences Blumenthal, Jan; Handy, Matthias; Golatowski, Frank; Hasse, Marc; Blumenthal, Jan; Handy, Matthias; Golatowski, Frank; Hasse, Marc;
Timmermann, Dirk. Timmermann, Dirk. Wireless Sensor Networks – New Challenges in Wireless Sensor Networks – New Challenges in Software Engineering.Software Engineering. Emerging Technologies and Factory Automation, Emerging Technologies and Factory Automation, 2003. Proceedings. ETFA '03. IEEE Conference , Volume: 1 , 16-19 Sept. 2003. Proceedings. ETFA '03. IEEE Conference , Volume: 1 , 16-19 Sept. 20032003
Hill, Jason; Szewczyk, Robert; Woo, Alec; Hollar, Seth; Culler, David; Pister; Hill, Jason; Szewczyk, Robert; Woo, Alec; Hollar, Seth; Culler, David; Pister; Kristofer. Kristofer. System Architecture Directions for Networked SensorsSystem Architecture Directions for Networked Sensors. ASPLOS . ASPLOS 2000.2000.
Yu, Yang; Krishnamachari, Bhaskar; Prasanna, Viktor K. Yu, Yang; Krishnamachari, Bhaskar; Prasanna, Viktor K. Issues in Designing Issues in Designing Middleware for Wireless Sensor NetworksMiddleware for Wireless Sensor Networks. IEEE Network, Volume: . IEEE Network, Volume: 18 , Issue: 1 , Jan/Feb 2004 18 , Issue: 1 , Jan/Feb 2004 Pages:15 – 21. Copyright 2004 IEEE.Pages:15 – 21. Copyright 2004 IEEE.
Gupta, G.; Younis, M.Gupta, G.; Younis, M. Fault-Tolerant Clustering of Wireless Sensor Networks Fault-Tolerant Clustering of Wireless Sensor Networks Wireless Communications and Networking, 2003. WCNC 2003. 2003 Wireless Communications and Networking, 2003. WCNC 2003. 2003 IEEE , Volume: 3 , 16-20 March 2003. Pages:1579 - 1584 vol. Copyright IEEE , Volume: 3 , 16-20 March 2003. Pages:1579 - 1584 vol. Copyright 2003 IEEE.2003 IEEE.
Liu, J.; Li, B.,Liu, J.; Li, B., Distributed Topology Control in Wireless Sensor Networks with Distributed Topology Control in Wireless Sensor Networks with Asymmetric Links, Asymmetric Links, Global Telecommunications Conference, 2003. Global Telecommunications Conference, 2003. GLOBECOM '03. IEEE , Volume: 3 , 1-5 Dec. 2003, Pages:1257 - 1262 vol.3, GLOBECOM '03. IEEE , Volume: 3 , 1-5 Dec. 2003, Pages:1257 - 1262 vol.3, Copyright IEEE 2003.Copyright IEEE 2003.
Stuff just for funStuff just for fun
http://robotics.eecs.berkeley.edu/~pihttp://robotics.eecs.berkeley.edu/~pister/29Palms0103/ster/29Palms0103/
http://robotics.eecs.berkeley.edu/http://robotics.eecs.berkeley.edu/~pister/SmartDust/~pister/SmartDust/