Saturday, October 8, 2011

References for Wireless Sensor Networks

I have referred various books , patents and IEEE papers to write articles in my blog on Wireless Sensor Networks. One can refer the below references for more and detailed information.

[1] Protocols and Architecture for wireless sensor network by H.Karl and A.Willig.

[2] Wireless Sensor Networks, Technology, Protocols and Applications by K.Sohraby, D.Minoli and T.Znati.

[3] A Survey on Sensor Networks by Ian F. Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, and Erdal Cayirci.

[4] Routing in Mobile Wireless Sensor Networks by Andrea Munari and Wolfgang Schott.

[5] IEEE 802.15.4

[6] Distributed address assignment in ZigBee Protocol.

[7] Adaptive Protocols for Information Dissemination in Wireless Sensor Networks by Wendi Rabiner Heinzelman, Joanna Kulik, and Hari Balakrishnan.

[8] An Energy-Efficient MAC Protocol for Wireless Sensor Networks by Wei Ye, John Heidemann, Deborah Estrin.

[9] Energy-Efficient Communication Protocol for Wireless Microsensor Networks by Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan.

[10] Connecting Heterogeneous Sensor Networks with IP Based Wire/Wireless
Networks by Shu Lei, Wu Xiaoling, Xu Hui, Yang Jie, Jinsung Cho, and Sungyoung Lee.

[11] Unifying Micro Sensor Networks with the Internet via Overlay Networking by Hui Dai and Richard Han.

[12] Integrating Future Large-scale Wireless Sensor Networks with the Internet by Marco Z´u˜niga Z. and Bhaskar Krishnamachari.

[13] A Delay-Tolerant Network Architecture for Challenged Internets by Kevin Fall.

[14] Connecting Wireless Sensornets with TCP/IP Networks by Adam Dunkels,
, Juan Alonso, Thiemo Voigt, Hartmut Ritter, Jochen Schiller.

[15] Optimizing Sensor Networks in the Energy-Latency-Density Design Space by C. Schurgers, V. Tsiatsis, S. Ganeriwal, and M. Srivastava.

[16] An Energy-Efficient Node Address Naming Scheme for Wireless Sensor Networks by Muneeb Ali and Zartash Afzal Uzmi.

[17] Dynamic Address Allocation for Management and Control in Wireless Sensor
Networks by Zheng Yao and Falko Dressler.

[18] Implementation and Evaluation of On-demand Address Allocation
for Event-Driven Sensor Network by Shinji Motegi, Kiyohito Yoshihara and Hiroki Horiuchi.

[19] A Novel Approach for Dynamic Address Assignment in Wireless Sensor Networks by Subba Reddy and Pavan Kumar B K.

[20] Fault-Tolerant Clustering of Wireless Sensor Networks by Gaurav Gupta and Mohamed Younis.

[21] Prolonging Sensor Network Lifetime with Energy Provisioning and Relay Node Placement by Y. Thomas Hou, Yi Shi, Hanif D. Sherali and Scott F. Midkiff.

[22] Deploying Sensor Networks with Guaranteed Capacity and Fault Tolerance by Jonathan L Bredin, Erik D Demaine, Mohammad Taghi Hajiaghayi, Daniela Rus.

[23] Fault Tolerance in Wireless Sensor Networks by Lakshmi Ramaswamy.

[24] Dynamic Power Management in Wireless Sensor Networks by Amit Sinha and Anantha Chandrakasan.

[25] Power Efficient Organization of Wireless Sensor Networks by Sasa Slijepcevic, Miodrag Potkonjak.

[26] Power Efficient Topologies for Wireless Sensor Networks by Ayad Salhieh, Jennifer Weinmann, Manish Kochhal.

[27] Wikipedia.

[28] Lease based Addressing for Event-Driven Wireless Sensor Networks by R. Chellappa Doss, D. Chandra, L. Pan, W.Zhou, and M. Chowdhury.

[29] QoS Support in Wireless Sensor Networks: A Survey, by Dazhi Chen and Pramod K. Varshney.

SPIN : Sensor Protocol for Information via Negotiation

SPIN stands for Sensor Protocol for Information via Negotiation. There is family of protocols called as SPIN; they come in different flavors and features. These protocols are designed to address the deficiency of flooding and gossiping.
SPIN uses three types of messages, ADV, REQ and DATA. The ADV message is broadcasted by a node which has some data. This message is broadcasted by the node. This message will say about type of data contained by the advertising node. Interested nodes which got the ADV message send REQ message requesting for the data. The node having the data sends the data to the interested nodes. The nodes after receiving data send ADV message, and the process continues. This can be seen in figure below.



SPIN protocol

Node 1 sends ADV message to all its neighbors, 2 and 3.Node 3 requests for the data using REQ message, for which node 1 send data using message DATA to node 3. After receiving the data Node 3 sends ADV message to its neighbors 4 and 5 and the process continues. It does not send to 1 because 3 knows that it received data from 1.
The data is described in the ADV packet using high level data descriptors, which are good enough to identify the data. These high level data descriptors are called meta-data. The meta-data of two different data’s should be different and meta-data of two similar data should be similar. The use of meta-data prevents, the actual data being flooded through out the network. The actual data can be given to only the nodes which need the data. This protocol also makes nodes more intelligent, every node will have a resource manager, which will inform each node about the amount various resources left in the node. Accordingly the node can make a decision regarding, whether it can as forwarding node or not.

Gossiping

Gossiping is similar to flooding except that, a node receiving a packet, instead of broadcasting, the node sends it to only one of its randomly selected neighbor, and the neighbor in turn sends the packet to one of its randomly selected neighbor, this continues until the packet reaches its destination. Gossiping reduces the number of packets in the network but the delay to reach destination in some cases may be very large. The diagram below shows gossiping.



Gossiping in WSN

Node 2 randomly selects node 1 among its neighbor to forward the packet, similarly node 1 selects node 4 among its neighbors, 2, 6, 5 and 4. Node 4 forwards the packet to 3.

Flooding

Flooding can be used for routing wireless sensor networks. In flooding, a node sends a packet received, to all its neighbors other than the neighbor which sent the packet to it, if the packet is not destined to itself or the maximum number of hops a packet can pass is not crossed. Flooding is very simple to implement, and it is reactive protocol, as it does not maintain any routing table (topology maintenance) and does not require discovering any routes. But this technique has several disadvantages, the most important being, it is responsible for large bandwidth consumption and it wastes valuable energy. This is not an energy aware protocol also. This protocol is not designed specifically for sensor networks. Similar data produced by nodes in the same region are also flooded, i.e. there is no data aggregation done. The diagram below gives an example for flooding.



Flooding in WSN

Node 2 sends a packet to node 1, which in turn sends the packet to all its neighbors, i.e. to node 3, node 4, and node 5. Node 1 does not send the packet to node 1 because node 1 knows that node 2 only sent the data to it.

Network Layer in Wireless Sensor Networks

Most of the data in the sensor network will be directed towards the sink. Special multi hop routing protocols are needed between sink and sensor nodes for wireless sensor networks. Most of the data conveyed to the sink form a sensor node will pass through many intermediate nodes before reaching the sink. Communicating data directly from the node to sink will be very energy expensive, so multi hop communication is preferred in wireless sensor network. The figure below makes the concept clearer.



Data form node N1 reaches sink through multiple intermediate nodes, N2, N3, and N4.

The network layer for sensor network is designed considering the following
1. Every protocol designed should be power efficient.
2. The protocol should support dynamic nature of sensor networks.
3. The sensor network protocols should make sensor network self configurable.
4. Data aggregation should be done, if it is advantageous.
5. Data centric design is more preferred, rather than address centric or location centric architecture.
There are several protocols and papers written regarding different issues in network layer for sensor networks, we shall understand a few in the proceeding sections.
A route form source to destination can be found based on many different criteria.



A scenario to explain different criteria that can be used to select a route form source (S) to Sink

One may choose a route which has maximum available power; in that case the route form source (S) to sink in the above diagram will be S-C-B-A- Sink. This is so because the power available in this route is 9, which is the highest compared to other routes.
One may go for route which consumes least power, and then the route selected can be S-B-A-Sink or S-D-Sink. S-D-Sink is preferred because less number of hops is present.
If the criterion to select is minimum number of hops then, the route S-D-Sink is selected.
There may other criteria that can be used, like a route with less probability of failure, a route less congested.
The routing may also be data centric routing. In this type of routing sink advertises the interest, and all nodes which have the data reply back to sink. Or it may be that all nodes advertise what kind of data they have, and other nodes which require that data request the node to give the data. In this type of routing, there is no importance given to a particular node but importance is given to the data or attribute. This type routing differs from the conventional routing schemes. Many papers and authors prefer data centric routing than conventional routing for sensor networks.
Data aggregation is done in sensor network to reduce the redundant data and hence save energy. For example in the figure shown before data from S and C is aggregated at node B, if the data form both C and S are almost similar. This reduces the amount data sent form B to A, hence conserves energy at B. Similarly data form A, D, E is aggregated at sink and sent further by sink, if the data has to be sent further. Data aggregation introduces delay in forwarding the data, as the node which aggregates the data has to wait for data from all nodes, to which the node aggregates the data. Even the process of aggregation consumes some amount of time.

Thursday, October 6, 2011

802.15.4 : An IEEE standard of Low Rate Personal Area Networks

802.15.4 is an IEEE standard of Low Rate Personal Area Networks. This standard covers Physical and MAC layer of Low Rate Personal Area Networks. Zigbee uses services provided by 802.15.4 and provides network constructions, security features and applications.

Two types of nodes are supported by this standard, FFD and RFD, which stand for Fully Functional Device and Reduced Functional Device. A FFD can act as coordinator or PAN coordinator or as a device. A RFD can only act as device. For more detailed description and understanding, of RFD and FFD one can refer to the standard itself.
A device must always be associated with a coordinator. The device has to communicate everything to the coordinator only. A coordinator can communicate with peer coordinators, and associated devices.

The standard offers two modes of operations; they are beaconed and non beaconed mode. The coordinator of a star network operating in the beaconed mode organizes channel access and data transmission with the help of a super frame structure shown below.



Super Frame structure in 802.15.4


The coordinator starts the superframe with the frame beacon packet, this will contains superframe specifications. The superframe has active and inactive periods. During inactive periods all nodes including the coordinator can sleep. They wake up just before the active period. The active period is divided into 16 slots, the first slot is used for beacon, and rests of slots are divided among the CAP and GTS.
The nodes operate using slotted CSMA-CA during CAP, the nodes can go to sleep mode during CAP if they do not have any data to receive or transmit. The nodes are active during GTS phase in their respective time slots. The coordinator is active throughout the active period.

All nodes send a request for GTS time slot during CAP to the coordinator. A field in the request packet specifies if the time slot is to transmit data to coordinator form the node or vice versa. There is also a field in the request packet, which specifies the number of GTS time slots required by the node. The coordinator specifies the slot allocated to the node using beacon frame.

If the node has been assigned slots to transmit data to the coordinator, then the node transmits data during that slot and it receives an acknowledgement for the same. If a slot is not assigned to the node and if the node wants to transmit data then, the node transmits data during CAP using slotted CSMA-CA and gets acknowledgement form the coordinator.

The coordinator sends any data it needs to send to a particular node, during node’s slot allocated. If it is not able to send during that slot then, the coordinator specifies that a data to be received is pending, in the beacon frame, by specifying the address of the node on which data is pending. The node requests for the same data during CAP using slotted CSMA-CA and the coordinator updates the data to the node.In non beaconed mode of operation, there is no GTS mechanism or beacon frame. All nodes operate in unslotted CSMA-CA mode and transmit and receive data.

CAP stands for contention access period, during this period all the nodes that want to communicate with the coordinator try to access the medium using slotted CSMA-CA protocol, the nodes request for some number of GTS form the coordinator during this CAP. The nodes also may send some data or receive some data during this period form the coordinator, if there was not slot assigned to the nodes. GTS stands for Guaranteed Time Slot, every node may have some slots assigned to them to receive or transmit data during this phase. One can refer to 802.15.4 for more detailed understanding of this standard.

Wednesday, October 5, 2011

LEACH : Low Energy Adaptive Clustering Hierarchy

LEACH stands for Low Energy Adaptive Clustering Hierarchy. This is a TDMA based protocol for wireless sensor networks with homogeneous nodes. LEACH is self organizing, adaptive clustering protocol. LEACH aims to distribute energy consumption at every node in the sensor network uniformly, aggregate data, i.e. support data fusion and localized coordination, between nodes to form and operate clusters.

All nodes in the network organize themselves into local clusters, with one node in the local cluster acting as cluster head. All nodes communicate only to the cluster head, and the cluster head conveys data to the base station. Nodes with higher capability advertise themselves as cluster heads, other nodes join the cluster head which is nearest to them. As cluster head has to spend lot of energy ,after certain time, randomized rotation of the cluster head is done, so that only node does not drain its energy. Every cluster head will prepare a schedule, to each of its members. The members communicate with the head only during that duration and sleep for the rest of the time. The diagram below shows the architecture of LEACH.



Architecture of LEACH

The operation of LEACH is broken into rounds. Each round starting with setup phase, during which clusters are formed and steady phase during which data is transferred to base station. Steady phase is longer than set up phase. Initially at the beginning of each round, each node decides if it has to be cluster head or not. The node which decides to be cluster head sends broadcasts a message. All other nodes will keep their receiver on and decide to which cluster head they need to join. Every node selects a cluster head which is nearest to it.

All nodes send messages to respective cluster heads. The cluster head based on the number of requesting node creates a TDMA schedule for all the nodes. Only during their respective schedules nodes interact with the cluster head, else the nodes will sleep.The cluster heads receives data form all nodes in its cluster, aggregates the data and sends it to the base station. The phase after the schedule is announced, is the steady phase and phase before schedule is announced, is setup phase. This can be seen in the diagram below. After the steady phase next round starts.



States in operation of LEACH

To avoid interference between clusters, all nodes in a cluster communicate using a CDMA code selected by the cluster head. There can also be hierarchy of clusters.

SMAC : Sensor MAC

SMAC stands for Sensor MAC . This protocol tries to reduce energy consumption due to overhearing, idle listening and collision. In this protocol also every node has two states, sleep state and active state. Unlike STEM, SMAC does not use two channels. A node can receive and transmit data during its listen period.

SMAC adopts a periodic wake up scheme. SMAC tries to synchronize the listen periods of neighboring nodes. The listen period of a node is divided into three phases as shown below. The listen period is the time during which a node is awake, rest of the time node is sleeping. The listen and sleep periods in the S-MAC are fixed intervals.



Three phases of listen period

In sync phase the neighboring synchronize their listen periods, a table is maintained regarding neighbors schedules, in RTS phase all nodes wishing to communicate to a particular node send RTS in CSMA mode with additional back off and in CTS the node acknowledges a particular RTS and communication between the two nodes starts and proceeds even in their sleep periods. The neighbors synchronize periodically.
SYNC packet is used to synchronize periodically. The SYNC packet contains senders address and time of its next sleep. The next sleep time is according to the sender, the receiver will adjust its timers after it receives the SYNC packet and updates the neighbor’s schedule.
In SMAC long data messages are fragmented and sent form transmitter to receiver. The receiver has to acknowledge for every fragment, else it is retransmitted. A series of fragments are sent with only one CTS and RTS message. This method is called as message passing. A protocol called T-MAC is proposed which is similar to S-MAC but with variable Listen and Sleep periods, this will help to suit the listen and sleep periods according to the load in the network.
The main concept in SMAC is that, all the neighboring nodes form virtual clusters and synchronize their sleep and listen periods. They communicate during their listen periods and sleep rest of the time. The immediate neighbors of nodes, which are transmitting and receiving, sleep until the communication is completed. A long message is divided into many fragments and all the fragments are sent as burst.
S-MAC contributes in these ways; reduction of idle listening(as nodes sleep and not stay in idle state),collision and overhearing avoidance by using RTS and CTS, and saving energy and time, by sending a series of fragments of a long message together, rather than going for contention after sending every fragment.

STEM: Sparse Topology and Energy Management

STEM stands for Sparse Topology and Energy Management. This protocol tries to save energy due to idle listening. This protocol does not provide a complete MAC protocol, however a MAC protocol can be used along with it to give a complete MAC protocol. This protocol proposes to use two channels, wake up channel and data channel. Wake up channel is used to inform the receiver that a transmitter wants to transmit data to it. Data channel is used to transmit data, underlying MAC protocol is used for this data transmission. STEM is designed for applications which wait for an event and report that event, when the event takes place. In other words STEM is applicable where nodes have two states, monitor sate, where nodes monitor and no event takes place, and transfer state, where event is detected and data has to be transmitted.
On the Wake up channel time is divided into sleep period and listen period, these together are called wake up period. This can be seen in the diagram below



Channels in STEM

There will be two transceivers in every sensor node. One is for wake up channel and other is for data channel. The transceiver of the data channel will always be in sleep mode until some has to received or transmitted by the node and the transceiver of the wake up channel will be sleep in sleep period and be active in listen period. During the listen period the wake up channel receiver is switched on and the node waits to check if any data is to be received if so the data channel transceiver is switched on or else the wake up channel transceiver goes to sleep.

The STEM protocol has two flavors; they are STEM-B and STEM-T. In STEM-B a node which wishes to transmit to another node, sends beacons periodically on the wake up channel. This beacon contains the address of transmitter and receiver. The receiver detects the beacons during its listen period and acknowledges the transmitter, and then both shift to data channel and exchange data. In STEM-T the transmitter sends busy tone on wake up channel for a long enough time to hit the receivers listen period. As there is no address of the receiver in the busy tone all neighboring nodes which hear busy shift to data channel, however on receiving the data, only the node for which the data was intended will reply and all others go back to sleep.

MAC Protocols for Wireless Sensor Networks

MAC layer is the layer immediately above the physical layer. In wireless networks many nodes contend use a single shared medium, the main function of the MAC layer is to regulate the access to this shared medium in such a way that all nodes are able to get their due. In other words the main duty of the MAC layer is to determine the time during which a node can send and receive, data, control and management packets. The MAC layer is a part of data link layer, other parts of data link layer are responsible for error and flow control.

The main challenge in designing MAC protocols for wireless sensor networks is to conserve as much energy as possible, as energy is present in the sensor nodes in very small quantity. So any MAC protocol designed should consider using energy present in the sensor nodes as less as possible.

The MAC protocols designed for wireless sensor networks have to necessarily consider all these problems, hidden station problem, exposed station problem, collisions because of multiple nodes accessing the medium together, noise added due to external interference, interference due to other systems working in similar frequency band, surge of data whenever event is detected, usage of as less energy as possible, sending control packets as less possible, keeping the overhead due to MAC headers and trailers as less as possible, keeping retransmission of packets as less as possible, low transmission delay, low access delay, and prioritize some critical packets.

The MAC protocols can be broadly divided into three categories, on demand assignment protocols, fixed assignment protocols and random access protocols. Examples for fixed assignment protocols are TDMA, FDMA, and CDMA. The protocols like CSMA, CSMA/CD, ALOHA, persistent and non persistent CSMA protocols are good examples for random access protocols. On demand assignment protocols assign resource to a node on demand and only for requested duration, after that the same resource may be given to some other requesting nodes. The on demand assignment protocols can be further classified into centralized and non centralized protocols. In centralized protocols a central server is responsible to assign all the requested resources in non centralized protocols all nodes by mutual understanding share the resources.
The most important issues to be considered to save energy are, over hearing, collisions, protocol overhead, idle listening. All these have to be as less as possible in all protocols designed for Wireless Sensor Networks and all protocols should be less complex in their operation and the foot print of the protocols should be small.

We shall understand some of the protocols designed for WSN in the next set of articles.

Sunday, August 7, 2011

Physical Layer for Wireless Sensor Networks

The main concern of the physical layer is modulation and demodulation of digital data, i.e. transmission and reception of the data. This is done by the transceivers in the sensor nodes. The main functions of physical layer are carrier frequency selection and generation, encryption and decryption, modulation and demodulation, transmission and reception of data.

Wireless sensor network generally work in ISM bands. But many other standards like 802.11b and Bluetooth also use the same band, so all systems, in this band have to be robust against interference form other systems.
The most important parameters which are to be considered while designing Physical layer in wireless sensor networks are
1. Low Power Consumption.
2. Low Transmission and Reception range.
3. Interference from other systems, working in the same band.
4. Low complexity.
5. Low duty cycle, i.e. most of the time sensor nodes are switched off.
6. Low data rates most of the time and high data rate only for a short period of time.
The most challenging aspect in physical layer design for sensor networks is to find, low cost transceivers which consume less power, simple modulation schemes which are robust enough to provide required service.

Generally the transceivers used in sensor network are only 10% efficient. To radiate a power of 1 mw the transceivers will consume at least 10 mw of power. The power consumed for reception is some what similar to power consumed for transmission; some times one of them may be more and one less depending upon design of the transceivers. For Mica motes 21 mw is consumed in transmit mode and 15 mw is consumed in receive mode. The transmission and reception of data are the most power consuming activity in the sensor node. So transmission and reception of data should be kept as less possible. For the WIN nodes, 1500 to 2700 instructions can be executed per transmitted bit, for the MEDUSA II nodes this ratio ranges from 220:1 up to 2900:1, and for the WINS NG nodes, it is around 1400:1. The summary is computation is cheaper than communication.

The power consumed by the transceivers in idle mode will not be significantly less than the power consumed by transceivers in receive or transmit mode. So it is always preferable to put the transceiver in sleep mode rather than in idle mode when not required. But care has to be taken to see to that, the power consumed during start up and time taken to startup the transceiver does not over come the advantage of putting the transceiver in sleep mode. The most commonly used transceiver is CC2420.
The choice of modulation scheme is another important aspect to be considered here. The choice depends upon the complexity that can be supported by the node, as one cannot go for very complex processes in sensor networks. The data rate is another factor to be considered, as this tells about what amount of data can be transmitted or received when the node is on. To save more and more energy the sensor node should be in sleep as much as possible and more the data rate more amount of data can be transmitted and received in small active period. The symbol rate is yet another important factor, as it has be found that more is the symbol rate more is the power consumption. The BER has also to be considered, because to keep BER low the power radiated has to be more.

As an example we shall consider the most commonly used protocol for WSN, IEEE 802.15.4. IEEE 802.15.4 defines wireless personal area network standard for low rate devices, this specifies the standards for Physical and MAC layer. 802.15.4 Works at a data rate of less than 250kbps. It works up to a range of 75m and it supports up to 254 nodes. This protocol is designed specially for networks whose data rate is less, which have energy constraints, and which require good QoS. The network using this protocol can survive from 6 months to 2 years with two AA batteries.

802.15.4 Works in three frequency bands they are 868 MHz (20 kbps data rate), 915MHz (40 kbps data rate) and 2.4GHz (250 kbps data rate). It uses Direct Sequence Spread Spectrum for modulation and uses BPSK for first two bands and 16 bit array QPSK for the last band. The first band has 1 channel in it the second band has 10 channels in it and third band has 16 channels in it. This can be seen from the diagram below




Channels in 802.15.4 physical layer

Communication Protocols for Wireless Sensor Networks

The protocol stack used in wireless sensor networks is as shown below. It consists of physical layer, data link layer, network layer and application layer. 802.15.4 is an IEEE standard for physical and data link layers. The ZigBee protocol specifies standards above MAC and physical layer. However other than these standards, there are many other protocols and papers defined for MAC, Network, Application layers. We shall brief them in this section.



Protocol Stack of Wireless Sensor Network.

QoS in Sensor Networks

Quality of service required for different applications in sensor networks can be different. Some may require more precise and accurate information some may require less. Some applications might not tolerate any delay in notification after the detection of event and some may tolerate the delay. Some applications may monitor a large area with more number of active sensors and some applications might monitor only small area with less number of active sensors.

In sensor network the importance is on collective data delivery rather than packet form a single node, because in sensor network many sensor nodes produce similar data. So in sensor network terms such as collective latency, collective bandwidth usage, collective packet loss, collective information throughput come into picture.
Collective latency is the time between, the first packet related to an event is received by the sink and last packet related to that event is received at the sink, no matter which node produced the data. Collective bandwidth is the bandwidth required to report an event to the sink by sensor nodes al together. Collective packet loss is the number of packets lost al together during reporting of an event.
Any QoS mechanism introduced for WSN should be very simple, it should not be, computationally complex, time consuming, requiring large amount of memory. Because the sensor nodes are energy, memory constrained and sensor nodes do not use very high end processors also.

QoS support in sensor network should consider the fact that, event driven sensor networks are characterized by long periods of silence, when there are no events detected and small periods where large amount of traffic is produced, when any event is detected. And all the data produced are generally destined to sink, so traffic form nodes to sink will very large. So the QoS has to support this unbalanced traffic.

The probability of having redundant data is quite large in sensor networks, so the redundant data should be reduced as much as possible may be data aggregation. But one has to consider the delay involved and complexities involved in data aggregation and take a decision.

Sensor networks are very dynamic; there are high chances of, node failures, link failures, node mobility and node state transitions. So QoS support for sensor network should consider all the above factors.

The number of sensor nodes in sensor network is very large, probability of addition of nodes is also quite high, and so any sensor network application should be scalable.There are different types of data supported by the sensor networks QoS provided should support all different types of data.

Connection of Sensor Network with TCP/IP Network , Article -2

Continuing from the previous article ........

Unifying Micro Sensor Networks with the Internet via Overlay Networking is another paper, which proposes to use sensor network overlay over TCP/IP networks. By using such an overlay sensor network can use data centric approach, i.e. assigning unique address to each and every senor node is not essential. The sensor network overlay is formed by extending address less sensor network routing into internet as application overlay. The figure below shows the Sensor network overlay on TCP/IP networks.



Sensor Network Overlay on TCP/IP network.

The nodes in internet with Sensor network overlay are called as virtual sensor nodes, and these help in forming virtual sensor network.
TCP/IP overlay over Sensor Network paper proposes to use TCP/IP stack in the sensor nodes.
The key advantage is that it makes WSN highly compatible with internet as both them will have almost similar protocols running. However this TCP/IP stack can be loaded into sensor nodes which have higher memory and higher processing capabilities. The authors have developed something called as u-IP stack. This is similar to normal TCP/IP stack but with lesser features. The memory required to load the stack is also less compared to full TCP/IP stack. The figure below shows the TCP/IP overlay on WSN.




TCP/IP Overlay on WSN

In yet another paper called “VIP Bridge Method” authors propose to use node centric or location centric WSN. It is not applicable for data centric WSN. This paper uses a VIP Bridge it does mapping between IP address and location address or local address of the sensor node. The sensor nodes will not have IP address configured, but the IP address to each node exists in VIP Bridge. The sensors will be identified in the WSN by the local identifiers the VIP Bridge does the conversion require. The VIP Bridge does translation form sensor network to TCP/IP and vice versa. This paper explains the method to do the conversion. The advantage of this VIP Bridge method is that communication is done between TCP/IP network and WSN using IP address itself and the local sensor identifier is used for communication within the senor networks. The internet users need not know the protocols used in WSN they can use WSN as if it is a normal TCP/IP network. In other words WSN is transparent to internet users. The architecture of the VIP Bridge method is as shown below.




VIP Bridge Architecture.

Friday, August 5, 2011

Connection of Sensor Network with TCP/IP Network, Article - 1

There are many situations where sensor networks need to be connected via TCP/IP network. In other words it might be necessary to integrate many sensor networks into one virtual sensor network using TCP/IP network.
To allow users all over the world to use a WSN deployed in some remote place it is necessary to connect WSN to TCP/IP network. The users may issue a query to get information form WSN or it might be necessary to issue a command or some information to a particular node in WSN. The particular node might be one of several higher capability nodes in the WSN.

So connecting WSN with TCP/IP network is very important but due to sensor node’s limitations it is not possible to install full existing TCP/IP stack into a sensor node. So to connect WSN and TCP/IP network many new methods are proposed.

Different authors propose different methods to connect WSN and TCP/IP networks. In “Integrating Future Large-scale Wireless Sensor Networks with the Internet” application level gateway is used to connect WSN and TCP/IP network. This paper classifies WSN as homogeneous and heterogeneous WSN. It provides solutions to connect both homogeneous and heterogeneous networks to TCP/IP networks. Homogeneous sensor network is one in which all sensor nodes have similar capabilities and heterogeneous sensor network is one in which some node have more capabilities than other nodes and outside user wants to interact with the more capable nodes directly. To connect homogeneous sensor network to TCP/IP networks this paper proposes to use a gateway as shown in the figure below. Gateway Based Approach for connecting Sensor Networks with TCP/IP Networks


The gateway is viewed as front end for the distributed database. The user who wants information form WSN may issue query to the gateway. Query optimization is provided through data centric in network processing. The response is obtained from WSN by the gateway and reply is sent to the user. The gateway acts as the interface between WSN and internet.
The advantage of this approach is both WSN and internet can be completely independent; it’s the headache of gateway to do conversions required. And it is most easy approach as very less amount of changes are required to the existing architecture; a gateway need’s to be added in between internet and WSN. The drawback of this approach is that ever gateway has to be designed according to the WSN. And as we see this has single point of failure, i.e. if gateway goes down WSN becomes inaccessible. To overcome the above said problem we can use two or more gateways also.


To connect heterogeneous WSN to TCP/IP network the paper proposes to use an IP overlay over the WSN. In the heterogeneous network some nodes have more capability or some nodes may be acting as cluster heads. These nodes can be given IP address, and these nodes may be directly accessed by the user using internet. In this type of network an IP overlay network is created over the underlying WSN to connect user directly to higher capable nodes. To create an IP overlay network it is necessary to create a tunneling mechanism to allow the more capable nodes to communicate among themselves using address centric approach. To create tunnels between the more capable nodes the paper proposes to use either Directed Diffusion or ACQUIRE protocols. Directed Diffusion can be used for high IP traffic applications and ACQUIRE can be used for low IP traffic applications. The figure below makes the concept clearer.




Heterogeneous network, the red line shows the tunneling formation using Data Diffusion or ACQUIRE protocol.

The red color line in the figure above shows the tunnel between the higher capable nodes using normal sensor nodes. This tunnel makes IP overlay possible over existing WSN architecture. Once the tunnel is established it will be possible to the users to interact with the higher capable nodes directly using existing WSN architecture itself.


A paper called “A Delay-Tolerant Network Architecture for Challenged Internets” proposes to use a method to integrate the challenged networks. Challenged networks are those which have a very long end-end delay, low bandwidth, high rate of network portioning, high error rates. Sensor network can be considered as a challenged network so this paper is applicable to the sensor network also. This paper uses an application layer above transport layer in TCP/IP stack as well as in WSN stack called the bundle layer. This layer is responsible to store and forward packet. This is shown in the figure below.

Connecting WSN and Internet using DTN gateway


It looks similar to gateway approach described before, but it has several dissimilarities with the application level gateway approach. The DTN gateway is universal to connect any network, it is not application based. It takes into account many aspects of different challenged network but application level gateway fails to do so. One region itself can have two or more DTN gateways, so even within a region if partition takes place DTN gateway based approach works where as the earlier one fails.

The network is divided into different regions. One region itself has many DTN gateways. The DTN gateways communicate with each other. Initially routing is done based on the region address using the bundle layer in the DTN gateways. Once the packet reaches the destined region the address of the host is used to reach the host in the destination. The address format will be (region address, host address) host address can be of any type. So this architecture works for any network. This paper speaks about integration of all challenged networks and TCP/IP network. The figure in the next page shows DTN based architecture.


DTN based Architecture


The advantage of this architecture is that it can be used to connect any type of network, and it supports more than one DTN gateway in only one network patch. The DTN gateway takes care of interface between different networks. So every network can be designed independently. The disadvantage of this architecture is the extra bundle layer that needs to be installed.


This Article will be continued in the next post ...





Fault Tolerance in Sensor Networks

The probability of failure of sensor nodes in sensor networks can be very high in some applications. So it very necessary to design the sensor networks such that, the failure of sensor nodes do not affect the proper functioning of network. Much importance has been given to make sensor network fault tolerant and reliable.

In a paper called “Fault tolerant clustering of WSN” fault tolerance of WSN is increased using detection of failed gateways, and re associating the senor nodes attached to the failed gateway with another existing gateway. Periodic checking for failure of gateways is done. If a failure is found, all sensor nodes attached to the failed gateway are reattached to a new gateway. This method prevents re election of the gateway, and increases reliability of wireless sensor networks.

In “Prolonging Sensor Network Lifetime with Energy Provisioning and Relay Node Placement” authors propose to provide extra energy to the AFN (Aggregating and Forwarding Node) similar to gateway. As a result of providing extra energy, failure of gateways can be prevented hence sensor network become more fault tolerant. The approach also proposes to use extra relay nodes after AFN and provide extra energy to the relay nodes also. The SPINDS algorithm proposed in this paper tries to solve the joint problem of relay node placement and energy provisioning.

In another approach called “WSN with Guaranteed Capacity and Fault Tolerance” authors propose deployment of extra nodes form a robot helicopter. These extra nodes are deployed to make wireless sensor network fault tolerant. All the nodes will not be awake simultaneously. Redundant nodes will be sleeping and wake up only when an active node dies.

In a patent called “Fault Tolerance in WSN” authors try to make WSN fault tolerant by the usage of secondary and tertiary gateways along with primary gateway. The primary gateway synchronizes the secondary and tertiary gateway with itself. If the primary gateway fails, secondary gateway takes up its place and if the secondary gateway fails tertiary gateway take up its place. This increases fault tolerance of WSN.

Saturday, May 28, 2011

Energy Usage in Sensor Nodes

Data transmission and reception, and sensing are the prime cosumers of power in a sensor node . In other words Transceiver, Controller, Sensors and to some extent the memory are the components that feed on the avaialable energy in a sensor node.

Transceiver is costliest in terms energy usage. A bit transmitted or received is equal to 1500-2700 instructions being executed. Hence it is adviceable to put sensor nodes(transceivers) to sleep when not is use. There are three states, sleep state, operational state and idle sate. Operational state consumes the max, Idle state being next and sleep state consumes the least.. The energy required to change state from sleep to active is considerable, so one has decide on when a sensor node should sleep and when should it be awake.

The energy cosumption of each component is described below
Microcontroller: The MSP430 family features a wider range of operation modes: One fully operational mode, which consumes about 1.2 mW (all power values given at 1 MHz and 3 V). There are four sleep modes in total. The deepest sleep mode, LPM4, only consumes 0.3 μW, but the controller is only woken up by external interrupts in this mode. In the next higher mode, LPM3, a clock is also still running, which can be used for scheduled wake ups, and still consumes only about 6 μW.
Memory: The main consumer in memory is the Flash Memory. Reading, Writing and Erasing flash memory all consume energy. Among them writing consumes the most energy.
Transreceiver: Energy is consumed in transreceiver during transmission, reception, start up (switch off to switch on). The following example explains the energy consumption pattern. µAMPS -1 consumes 279mW for reception, 151 mW for transmission and 58.7mW for start up.
Sensors: Predicting power consumption of sensors is not easy task, as variety of sensors consume different amount of energy. Passive sensors consume very less energy and the energy consumed by them is negligible compared to other energy consumption however active sensors consume considerable amount of energy.

Monday, March 14, 2011

Software Architecture of a Sensor Node

An Operating System, Sensor Module, Antenna Module, Communication Module, Applications, Mobilizer Module, and Location and navigation module make the software of a senor node. Some sensor nodes may have all of modules and some may have only few modules according to the necessity. The naming and classification of these modules may be different in other literature's but let us stick to the above module names in this article and get to know about them. The following figure gives the overall software architecture of sensor node.

Overall Software Architecture of a Sensor Node

Operating System: This is hardware common micro code which will be used by all other high level node resident modules. As is generally the case the purpose of operating system is to shield the higher level modules from machine level functionality of the microprocessor. We can have Tiny-OS, which is open source software designed particularly targeting WSNs. It is written using Nesc. Nesc is made up of modules and configuration files, these are called as components. Tiny-OS is made up of components, components provide and use interfaces. The modules contain the actual implementation and configuration files wire the modules. There are tasks and hardware events for execution, tasks can be postponed but hardware events cannot be postponed.

Sensor Module: This module is responsible, to provide drivers to sensors present in the sensor node, to collect data from sensor when they are generated, to switch on and off the sensors, configure the sensors, and any other function that is related to sensors is done by this module.

Mobilizer Module: This module is responsible for the mobilizer’s driver, controlling of the mobilizer, this module comes into picture only if the sensor has a mobilizer in it.

Location and Navigation Module: This module is responsible for finding location of the sensor node and providing drivers for the location finding instruments if they are present on the sensor node.

Antenna Module: This module is responsible for the driver of the transceivers like CC2420. Any driver’s main function is to shield the software modules from the machine level functionality of the hardware.

Communication Module: This module is responsible for the route set up, channel allocation, new node detection, route table maintenance, encryption, decryption of the data , providing other security features required, providing good QoS, error checking and correction, data buffering, data forwarding many others.

Applications: This module is responsible for data aggregation, in node processing, and other application specific functions.