34
Software Architecture Software Architecture Design of Wireless Design of Wireless Sensor Networks Sensor Networks John Henkel John Henkel

Software Architecture Design of Wireless Sensor Networks John Henkel

Embed Size (px)

Citation preview

Page 1: Software Architecture Design of Wireless Sensor Networks John Henkel

Software Architecture Software Architecture Design of Wireless Sensor Design of Wireless Sensor

NetworksNetworksJohn HenkelJohn Henkel

Page 2: Software Architecture Design of Wireless Sensor Networks John 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.

Page 3: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 4: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 5: Software Architecture Design of Wireless Sensor Networks John Henkel

Noteworthy Research ProjectsNoteworthy Research Projects

Berkley’s smartdustBerkley’s smartdust PicoRadioPicoRadio WeBSWeBS

Why so few?Why so few?

Page 6: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 7: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 8: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 9: Software Architecture Design of Wireless Sensor Networks John Henkel

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?

Page 10: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 11: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 12: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 13: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 14: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 15: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 16: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 17: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 18: Software Architecture Design of Wireless Sensor Networks John Henkel

Sensor Network Software Architecture [1]Sensor Network Software Architecture [1]

Page 19: Software Architecture Design of Wireless Sensor Networks John Henkel

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…

Page 20: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 21: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 22: Software Architecture Design of Wireless Sensor Networks John Henkel

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]

Page 23: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 24: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 25: Software Architecture Design of Wireless Sensor Networks John Henkel

Four main Four main layerslayers• ApplicationApplication• Resource Resource

ManagementManagement• ClusterCluster• Sensor Sensor

Network Network LayerLayer

Page 26: Software Architecture Design of Wireless Sensor Networks John Henkel

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)

Page 27: Software Architecture Design of Wireless Sensor Networks John Henkel

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?

Page 28: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 29: Software Architecture Design of Wireless Sensor Networks John Henkel

Architecture BArchitecture B

Modifications to reduce Modifications to reduce disadvantages disadvantages • Redundant gatewaysRedundant gateways• Avoid full-scale reclusteringAvoid full-scale reclustering

Page 30: Software Architecture Design of Wireless Sensor Networks John Henkel

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

Page 31: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 32: Software Architecture Design of Wireless Sensor Networks John Henkel

QuestionsQuestions

Page 33: Software Architecture Design of Wireless Sensor Networks John Henkel

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.

Page 34: Software Architecture Design of Wireless Sensor Networks John Henkel

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/