2. Outline
I. Introduction to Wireless Sensor Network
1) What is Wireless Sensor Network and its applications
2) Communication Architectures
3) Sensor Node Basic Components
II. Introduction to Middleware
1) What is Middleware
2) Middleware Design Principles for Wireless Sensor Networks
3) Middleware Approaches
3. What is Wireless Sensor Network
Wireless Sensor Network consists of spatially
distributed autonomous sensor nodes used to monitor
and control physical or environmental conditions at
different locations cooperatively.
4. Wireless Sensor Network Applications
Intelligent agricultural and environmental sensing
Grapes Networks
- Central Valley of California
5. Wireless Sensor Network Applications
Health monitoring
Home automation and consumer electronics
Security and military sensing
Structural monitoring
…
6. Communication Architectures
Sensor Node: senses data or events, and
collect the data among the nodes via
radio link and route to the sink using
multi hop infrastructure architecture
Sensor Field: scope or area within sensor
nodes can detect or collect the
sensed data
Sink: communicates with the End Users via
Internet or any network (WAN)
connection
7. Sensor Node Basic Components
The basic components of a sensor node
sensing unit
o Sensor: produce analog signal based on the sensed environment
o Analog to Digital Converter (ADC): convert from analog to
digital signal and transfer to processing unit
processing unit: manages the procedures for sensing tasks
and collaborations
transceiver unit: connects the node to network (RF radio
communication is preferred)
power unit
9. What is Middleware
Software layer between the operating system and
applications to manage the complexity and
heterogeneity in the distributed system or network.
Why middleware in wireless sensor networks?
a software infrastructure that glues together the network
hardware, operating systems, network stacks, and
applications
10. Middleware Design Principles
Limited power and resources
Provide efficient CPU and memory
Ex. sleep mode, minimize number of transmission
Scalability, mobility, and dynamic network topology
adapt to the changing network environment, fault tolerance and
sensor node self-configuration and self-maintenance
Heterogeneity
able to interface various kinds of hardware, software and
networks
11. Middleware Design Principles
Dynamic network organization
provide ad hoc network resource discovery and its location
Real-world integration
provide real-time services to adapt to the changes and provide
consistent data
Data aggregation
able to aggregate data to eliminate redundancy and
minimize the number of transmissions to the sink
Security
able to develop and integrate security in the initial phases of
software design to achieve different security requirements
such as authentication, integrity, freshness, and availability
12. Middleware Approaches
Based on the Programming models
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
13. Middleware Approaches
Programming abstraction : provides systems,
services, and runtime mechanisms
Programming support: provides concepts and
abstractions of sensor nodes and sensor data
14. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
15. Global behavior
the sensor network as a whole, not to drive
individual node
high-level specification
Example: Kairos
provides notions and concepts to design, develop, and
implement a macroprogramming model on WSN
express a single centralized program
16. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
17. Local behavior
the nature of the sensed data
a group of sensor nodes in a specified region
Example: Abstract regions
local computation, data aggregation, and communication
occur
aggregate all sensor readings from nodes near the object to
generate accurate information locally
18. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
19. Virtual Machine Approach
lets developers write applications in separate, small
modules
system injects and distributes the modules through the
network using tailored algorithms
VM then interprets the modules
Example: Mate
uses codes broken into capsules of 24 byte-long
instructions, easy for distribution.
synchronous model, makes the programming simpler
avoids message buffering and large storage
20. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
21. Database Approach
views the whole network as a virtual database system
lets the user issue queries to the sensor network
Example: Cougar
Represents all sensors and sensor data in a relational
database.
Control of sensors and extracting data occurs through
special SQL-like queries
Allows the scheduling of ongoing queries that provide
incremental results
22. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
23. Modular Approach
applications are as modular as possible
Only parts of the program need to be
updated, propagate efficiently
Example: Impala
provides mechanisms for network updates and support
dynamic applications
fault tolerance and network self organization
nature of its code instruction doesn't allow hardware
heterogeneity
24. Middleware Approaches
Global behavior
(macroprogramming)
Programming
Abstraction
Local behavior
(data centric, geometric)
Programming
Virtual machine
Wireless Sensor
Networks
Database
Programming
Modular (agents)
Support
Message-oriented
middleware
25. Message Oriented Approach
uses the publish-subscribe mechanism
supports asynchronous communication – loose
coupling
Example: Mires
advertise their sensed data(topic) through publish service
Multi-hop routes the advertised messages to the sink
user application subscribes to topics of interest
26. Reference
[1] Salem Hadim & Nader Mohamed, “Middleware: Middleware Challenges and
Approaches for Wireless Sensor Networks”, IEEE 01621014, Vol. 7, No. 3; March
2006
[2] Jong-Wan Yoon, Young-Ki Ku, Choon-Sung Nam, & Dong-Ryeol
Shin, “Sensor Network Middleware for Distributed and Heterogeneous
Environment”, 2009, IEEE 05260722,
Grape Networks has deployed the world's largest wireless Sensor network for agriculture in the Central Valley of California. The Wireless Sensor Network covers over 50 acres, and consists of more than 200 sensors, all broadcasting critical vineyard data over the Internet.Sensed data: temperature, humidity and lightThe vineyard operations' manager can view the data on any WEB enabled cellular phone or PC, and can also set the threshold values for alerts over the Internet or via Email.
Electronic sensor clothing like this Under Armour E39 Shirt lets the athlete understand what is going on inside there body while training. This Under Armour Electronic sensor clothing contains a removable sensor pack, nicknamed 'the bug' near the sternum which provides instant feedback on breathing rate, heart rate, temperature, movements etc. All this data can then ne viewed on wireless devices such as laptops, iPhones, or iPads.
Processing unitAssociated with a small storage unitManages the procedures that make the sensor node collaborate with the other nodes to carry out the assigned sensing tasks
additional application dependent components: mobilizer, location finding system (most of the sensing tasks require the knowledge of position), Power Generator(solar cell) …
WSN needs middleware to integrate the sensed data from different sensor network and provide for user application. Esp., to convert various raw data from sensor networks to available information for service of user application.
*Limited power and resources - Advance microelectronics technology allows tiny devices but limited in energy and resources, i.e. CPU and memory*Scalability, mobility, and dynamic network topology –As the application grows, device failure, moving obstacles, mobility, and interference, the network will change frequently.Scalability is defined as follows: if an application grows, the network should be flexible enough toallow this growth anywhere and anytime without affecting network performance. Efficientmiddleware services must be capable of maintaining acceptable performance levels as the networkgrows. Network topology is subject to frequent changes owing to factors such as malfunctioning,device failure, moving obstacles, mobility, and interference. Middleware should support sensornetworks' robust operation despite these dynamics by adapting to the changing network environment.Middleware also should support mechanisms for fault tolerance and sensor node self-configurationand self-maintenance.* Heterogeneity - provide low-level programming models to meet the major challenge of bridgingthe gap between hardware technology's raw potential and the necessary broad activities such asreconfiguration, execution, and communication. It should establish system mechanisms that interfaceto the various types of hardware and networks, supported only by distributed, primitive operatingsystemabstractions.
*Dynamic network organization : Unlike traditional networks, sensor networks must deal with resources that are dynamic, such asenergy, bandwidth, and processing power. Sensor networks also must support long-running applications, so routing protocols must be efficiently designed to enable the network to run as long as Possible. Because knowledge of the network is essential for it to operate properly, the middleware should provide ad hoc network resource discovery. A sensor node needs to know its location in thenetwork and in the whole network topology. In some cases, self-location by GPS is impossible,unfeasible, or expensive. Important system parameter issues, such as network size and density persquare mile, affect the trade-offs among latency, reliability, and energy.* Real-time integration : Most sensor network applications are real-time phenomena, where time and space are extremelyimportant. Hence, middleware should provide real-time services to adapt to the changes and provideconsistent data.*Data aggregation: Most sensor network applications involve nodes that contain redundant data and are located in aspecific local region. These traits open the possibility for in-network aggregation of data fromdifferent sources, eliminating redundancy and minimizing the number of transmissions to the sink.This aggregation saves considerable energy and resources, given that communications cost is muchhigher than computation costs. This paradigm shifts the focus from the traditional address-centricapproaches for networking to a more data-centric approach*Security: WSNs are being widely deployed in domains that involve sensitive information for example,healthcare and rescue. The untethered and large deployment of WSNs in harsh environments increasestheir exposure to malicious intrusions and attacks such as denial of service. 11In addition, the wireless medium facilitates eavesdropping and adversarial packet injection to compromise the network'sfunctioning. All these factors make security extremely important. Furthermore, sensor nodes havelimited power and processing resources, so standard security mechanisms, which are heavy in weightand resource consumption, are unsuitable. These challenges increase the need to developcomprehensive and secure solutions that achieve wider protection, while maintaining desirablenetwork performance. Middleware efforts should concentrate on developing and integrating securityin the initial phases of software design, hence achieving different security requirements such asconfidentiality, authentication, integrity, freshness, and availability.
Communication model (not mentioned here)* Programming abtrstraction : providing systems, services, and runtime mechanisms such as reliable code distribution, safe code execution, and application-specific services. * Programming support: the way we view a sensor network and provides concepts and abstractions of sensor nodes and sensor data.
* Programming abtrstraction : providing systems, services, and runtime mechanisms such as reliable code distribution, safe code execution, and application-specific services. * Programming support: the way we view a sensor network and provides concepts and abstractions of sensor nodes and sensor data.
This subclass introduces a new and completely different view on how to program sensor networks. Macroprogramming involves programming thesensor network as a whole, rather than writing low-level software to drive individual nodes. The WSN global behavior is programmed at a high-level specification, enabling automatically generated nodal behaviors. This relieves application developers from dealing with low-level concerns at each network node.
In most sensor network applications, the focus is more on the nature of the sensed data, which generally involves a group of sensor nodes in a specified region. In region or Hood style, the interest is on a specific location in a sensor network for example, applications are morelikely to ask for a location where the temperature exceeds a certain value, rather than for an individual sensor reading. In data-centric sensor networks, nodes are addressed according to the data produced for example, detect a target having a shape of "tank" in military applications.
This system is flexible and contains virtual machines (VMs), interpreters, andmobile agents. It lets developers write applications in separate, small modules. The system injects anddistributes the modules through the network using tailored algorithms, such as overall energyconsumption and resource use are minimized. The VM then interprets the modules. This approach,however, suffers from the overhead that the instructions introduce
It provides an easy-to-use interface that lets the user issue queries to the sensor network to extract the data of interest. However, the approach provides only approximate results, and it lacks the support of realtime applications that need the detection of spatio-temporal relationships between events
The key to this approach is that applications are as modular as possible to facilitate their injection and distribution through the network using mobile code. Transmitting small modules consumes considerably less energy than a whole application. For example, Impala provides mechanisms for network updates that are efficient enough to support dynamic applications. Its autonomic behavior increases its fault tolerance and network selforganization. However, the nature of its code instruction doesn't allow hardware heterogeneity, whichmakes it unsuitable for devices with limited resources
Mainly a communication model in a distributed-sensor network, message-oriented middleware uses the publish-subscribe mechanism to facilitate message exchange between nodes and the sink nodes. The strength of this paradigm lies in that it supports asynchronous communication very naturally, allowing a loose coupling between the sender and the receiver. This approach is quite suitable in pervasive environments such as wireless sensor networks, where most applications are based on events.Mire - Communication occurs in three phases. First, the nodes in the network advertise their sensed data (topic) through the publish service. Next, Mires routes the advertised messages to the sink, using the multi-hop routing algorithm. Finally, the user application subscribes to topics of interest using only a suitable GUI. The publish-subscribe service also maintains the topics list and the subscribed application to marshal the right topic to the related application. Mires sends only messages referring to subscribed topics, hence reducing the number of transmissions andenergy consumption. It includes a data aggregation service that lets the user specify how data will beaggregated and the association between topics of interest and aggregates.