This dissertation has been submitted by a student. This is not an example of the work written by our professional dissertation writers.

Chapter 1: Introduction

The improvement in capabilities of computation of processors, capacities of memories and advance engineering techniques are facilitating a new generation of low cost sensor and actuator nodes. Sensors include but not limited to seismic, radio wave frequency, temperature and humidity, electric and magnetic, infrared, and location and navigation sensors.

A networked sensor is an infrastructure consisting of sensing, computing and communicating devices that enables the administrator to monitor and react correspondingly in an environment. The administrator can be a governmental, commercial, industrial or a civil entity. The environment can be a biological system, an IT framework or a physical environment [3][4].

Typically nodes have limitations of energy resources and bandwidth. These constrains along with large quantity of deployed nodes, make the design and management of WSNs challenging. Therefore, all layers of the network protocol stack should be designed to be energy aware.

The wireless sensor networks (WSNs) can be taxonomized as two main category:

Category 1 WSNs (C1WSNs): Consisting of a mesh-form topology of variety of nodes with capability of communicating with each other, as well as the gateway using a dynamic routing. An example is scattering the nodes in a forest for collecting the targeted data. Nodes must be able to establish a route to forward the detected events to the gateway or an interested node.

Category 2 WSNs (C2WSNs): Consisting of a star-form topology in which nodes are single hop away from the forwarding node. The routing protocol used in these networks is predetermined (static). An example of this category can be residential monitoring and controlling systems [6].

C1WSNs usually are applied to large networks with multi-point to point configuration, whereas C2WSNs are used in small networks mainly with point to point configuration.

Since the data transmitted in WSNs are typically simple and low rate compared to that of wireless networks of powerful devices such as PCs or even Mobile Ad-hoc NETworks (MANETs), the standards defined for latter networks such as IEEE 802.11 series, infrared or Bluetooth (802.15.1) are too complex and provide extra bandwidth. This is extremely expensive for WSNs due to their limited resources. To overcome this problem, the IEEE 802.15.4 is accompanied with ZigBee. This strategy provides a software layer to support variety of applications for WSNs. IEEE 802.15.4 operates at 2.4 GHz and has the data rate of up to 250 Kbps with range of about 10 to 70 meters. ZigBee/IEEE 802.15.4 targets low data rate and low power devices where cable communication is not feasible. [8].

WSNs have some similarities with Mobile Ad-hoc NETworks (MANETs). Multi-hop communication is common in both systems. However they are significantly different in terms of applications and resource requirements.

Usually the WSNs' communication is multipoint to point; whereas, in MANETs the communication is point to point.

Typically in WSNs the nodes are not mobile; whereas, mobility of nodes is of the fundamental features of MANETs. In WSNs, however, the target being sensed might be mobile.

The redundancy in data collected with wireless nodes is very common in WSNs. This correlates with the number of nodes in an area around an occurred event; whereas, this is not necessarily the case in MANETs.

Energy scarcity is much more critical in WSNs compared to MANETs. In MANETs typically the energy source can be exchanged by the user, whereas in WSNs the nodes might be left unattended due to inhospitality of the environment and expected to work for weeks, months or even years. Therefore the energy resources must be spent very discerningly.

The number of nodes in a WSN might be significantly more than that of a MANET [6].

Given the above reasons, routing protocols designed for MANETs are not suitable for WSNs; thus alternative options should be considered [9].

Furthermore, it is not practical to exploit a global addressing method for a network with hundreds or thousands of nodes. This extremely increases the complexity of the protocol and makes unnecessary extra overhead which is expensive in terms of energy consuming. Hence, the IP-based protocols are not applicable to sensor networks. Second, the flow of the network is mainly from several nodes to a sink. This is opposed to typical networks in which the traffic flows from a point to point or from a point to multi-point. Third, since there might be a high density of nodes in the vicinity of an occurred event or a phenomenon, the redundancy in the data is very possible. Fourth, since nodes have limitations in terms of transmission power, computation capacity and energy resources, the resource management must be properly considered. Based on these considerations many routing protocols have been designed to meet respecting expectations. They typically consider not only the specifications of nodes but also the applications of corresponding network. The aim of network layer design therefore, is to develop a protocol capable of setting a route between nodes and sink, with maximum reliability and energy efficiency which in turns increases the network's life.

Most of routing protocols can be categorized in three classes: data-centric; hierarchical; and location-based. Data-centric protocols are event-based and/or query-based. They perform based on the naming of required data. This method can eliminate the majority of redundancy. Hierarchical protocols put the nodes in different clusters in order to do data aggregation and save energy. Location-based protocols perform by exploiting the position of nodes to forward data to that specific region rather than forwarding them across the whole network. [10][11].

Since design of a routing protocol is significantly influenced by the architecture and designs of the network, some issues and challenges in this respect are studied here.

Basically each sensor network consists of sensor nodes, sink(s) and the observed events. Typically nodes are stationary except for few scenarios that exploit mobile nodes. The nodes might be installed on a mobile target to derive certain information from the target or its environment, for example wild life monitoring. The mobility of sink(s) is (are) sometimes essential. Subramanian and Katz [12] explain and discuss some of the relevant scenarios and their architectures.

The event can be either fixed or mobile. If the event is fixed, the information can be forwarded once it is generated. Therefore, reactive routing is sufficient, whereas for detection of mobile events usually periodic report is essential. This in turns brings upon the concept of proactive data forwarding into play. Based on the application, topology of the network can be deterministic or self-organizing. Static routing can be applied in a deterministic situation. In contrast, in self-organizing systems the nodes might be scattered for example from a plane; and arbitrate a topology in an ad-hoc way [13]. In the latter scenario, it is critical to put nodes in clusters (hierarchical routing) and to choose the best candidate(s) as cluster head. The cluster heads in turn, gather the data from other nodes and possibly after aggregation, forward it to the sink(s) to gain the best energy efficiency. While routes are being set up, the energy consideration is an extremely important parameter because multi-hop transmission of data is less energy consuming than direct transmission in the event that an obstacles occurs. This is based on the fact that the power used for transmission is proportional to square of the distance. However, multi-hop routing burdens a considerable amount of overhead for medium access control [14]. It must be considered that based on [14], computation is generally less energy consuming than communication. Therefore, significant energy conserving would be obtained by using data aggregation. This methodology has been implemented in many routing protocols. Some of these routing protocols are studied and briefly explained in this paper such as: Directed diffusion [15] PEGASIS [16], COUGAR [17], SPIN [18], Rumour Routing [19] and Energy efficient routing [20]. Directed diffusion as the fundamental of distributed network’s routing paradigm is briefly explained in the literature review and then discussed in depth later in section 6.

Chapter 2: Objective, Motivation, and Methodology

2.1. Objectives

The overall aim of this project is to enhance the efficiency of the routing protocol in terms of energy consumption of the nodes and the latency of the network. To achieve this objective:

  • A WSN with a specific application is introduced;
  • Major routing protocols for WSNs are studied; then the most appropriate one for the purpose of application of this project is singled out;
  • The selected routing protocol is applied to enhance the performance of introduced application;
  • The design parameters are examined and justified;
  • Using a simulator, the performance is compared against the default routing protocol and the effects of this design on the outcome of the network is learned.

2.2. Motivation

Recently the development of WSNs has gained significant importance due to their capabilities for military and civil applications such as battlefield surveillance, security and hazard management. Routing is one of the complex areas in WSNs research due to their distributed nature and multi-hop data forwarding. In addition, sensor nodes are typically extremely energy constrained. As a result, numerous algorithms have been developed and proposed to resolve the limitations of routing WSNs [6]. However, it seems there is still a long way to be paved to achieve comprehensive sets of protocols, to address the major challenges facing such networks. Since no standard is yet developed for WSN routing protocols, this project has been chosen for study to help the research community with techniques that would be applicable to existing protocols.

2.3. Methodology

The phases of the project toward achieving the objective are as follows:

Literature review on various types of routing protocols.

Developing the new ideas according to the literature review.

Designing a scenario for the purpose of testing the new paradigm.

Applying the modified routing protocol to enhance the energy efficiency and decrease the latency in the proposed scenario as the objective of the project.

Simulation and evaluation of the scenario as the results.

Chapter 3: Literature Review on the Routing Protocols

3.1. Data-Centric Protocols

As discussed earlier, it is not practical to deploy addressing schemes such as IP addressing in WSNs. Besides, it is not important for the user to know which specific node has generated a data. The user is interested in a data from a specific area/region and/or with specific attributes. This data can be generated from any node in the vicinity of the event. This lack of global identifier or address scheme and random scattering of nodes, make addressing a particular node or a set of nodes an uneasy task. Data-centric protocols consider selecting a set of nodes and aggregating the collected data, while being forwarded form several nodes to the sink. This can significantly reduce the amount of redundancy in the network. The sink forwards queries to a set of nodes in a specific area and request those nodes to send back a requested data. The properties of the data must be specified using some attributes before forwarding the queries to the network. Directed Diffusion [15] is the leading protocol among data-centric protocols and many other protocols have been designed either based on it or similar ideas: COUGAR [17], Rumour Routing [19], Energy efficient routing [20], scalable information-driven sensor querying and routing for ad hoc heterogeneous sensor networks [21], energy Aware routing [22] and ACQUIRE [23] are some of the techniques which have been designed based on directed diffusion [10].

Two mechanisms could be used for data propagation in the network: flooding and gossiping [24] without using any algorithm or topology maintenance. Flooding broadcasts received data in the network until they reach either the destination or the maximum number of hops. Gossiping forwards the data to a randomly selected number of nodes and this process continues until the data reaches either the destination or the maximum number of hops again. However, there are major drawbacks in both methods. One of the major problems of flooding is implosion (see Figure3.1). Implosion occurs due to propagation of duplicate data from several sources to a node in result of broadcasting. The Second problem, which is called overlap (see Figure 3.2), is resulted by sensing a particular area with more than one node and forwarding identical data to the network. This causes redundancy. Redundancy makes the routing very energy inefficient since elimination of it requires extra communication and computation. The third problem is resource blindness which happens by exploiting the energy resources unintelligently.Gossiping overcomes the implosion by forwarding data randomly rather than broadcasting; however, this can cause a significant delay [18].

In the following section some of the main Data-centric routing protocols are studied.

3.1.1. Sensor Protocols for Information via Negotiation (SPIN)

SPIN [18] is one of the first protocols presented under data-centric category [10]. SPIN exploits a descriptor called meta-data to advertise among the nodes before data transmission. In case of sensing an event, the corresponding node advertises it to the other nodes. Those nodes which do not have those data and are interested send a request message to obtain them. Upon receiving new data, each node advertises it to its neighbours and other interested nodes. In other word, those nodes that do not have particular data, would ask for it through a request system.

This technique resolves the redundancy; overlapping; and resource blindness problems by preventing flooding, hence significantly improves the energy consumption. The meta-data is defined based on the application of the network while using an application level framing. SPIN exploits three messages in order to forward data between nodes: ADV which allows a sensor to advertise a meta-data, REQ which enables a node to request for a data; and DATA which contains the actual data.

Since each node needs only to know about its next hop neighbours, the topological changes in the network are localized. SPIN provides a factor of 3.5 in terms of energy dissipation compared to flooding. Furthermore, meta-data reduces the redundancy in to half [18].

The drawback of SPIN is that data forwarding to the destination is not guaranteed with this advertisement mechanism. Consider a scenario in which, the interested nodes are several hops away from the source node and the nodes in between are not interested in that particular data. In such situation, the interested node will never receive that data. Therefore, for those applications which need guaranteed delivery such as intrusion detection, SPIN is not an appropriate option [10].

3.1.2. Directed Diffusion

Since directed diffusion is the selected paradigm for the purpose of this project, it will be discussed in dept later. Here, a brief explanation of this paradigm as a major data centric protocol is presented.

Directed Diffusion protocol [15] is based on naming data, using an attribute-value pairs to aggregate the data forwarded from several routes; eliminate the redundancy; and optimize the number of transmissions. Directed diffusion is a turning point in data-centric routing protocols. In this protocol, sink sends a query to certain nodes and ask for specific data. This query, called interest, is created based on the attributes and value of the data. These attributes and values are application dependent, and there is no standard for defining them. For example, data properties can be the name of the object, the time interval which the object is desired to be monitored and the duration of monitoring. Other elements of directed diffusion are data message, gradients and reinforcement. Nodes can cache this interest. These cached interests can then be used to compare the received or detected data with the attribute-values of the interests. The dissemination of interests in the network set up a gradient. Nodes send the data matched with the interest, back to the requesting node using this gradient. Gradient's properties can be data rate, time interval, duration and expiry. The interests flow towards the originator of the interest using one or more gradients already set up. The network then reinforces some of the routes for transmission of the data. Subsequently, the interest will be resent to the nodes with smaller intervals through the reinforced route(s) in order to receive data more frequently.

In case of a failure in the established routes, directed diffusion associates reinforcement among routes with lower data rate or less valuable gradients.

Directed diffusion does not need any addressing mechanism since all communication is neighbour-to-neighbour and the data is value attributed. The capability of in-network data aggregation and caching significantly reduces the energy consumption and delay. Furthermore, due to the on-demand nature of directed diffusion, there is no need for global topology retaining. Directed diffusion is an appropriate method for query based applications.

3.1.3. Energy-aware routing

This protocol [22] refers to a technique based on using a set of routes rather than a single route. This in result minimizes the energy consumption and in turns lengthens the network life-time. The main concern of Energy-aware is the sustainability of the network. In this method, constant exploitation of the route with minimum energy consumption impoverishes the energy of the nodes on that route. Energy-aware presumes that nodes can be routed based on their location and types.

During a set-up phase, the destination node uses flooding to find the routes towards the source node. The intermediate nodes forward the request from source nodes toward the destination node. When the node receives a request, it adds the neighbour’s energy metric to the cost of the route and calculates the cost of the route. Routes with high cost are discarded. Therefore, the forwarding table consists of low cost routes. Nodes assign a probability to each neighbour in the forwarding table with a probability inversely proportional to the cost. Therefore, each node has a series of routes which it can forward the packet through them. The average cost is set in the cost field of the request packet and forwarded to the source node forward request from source nodes toward the destination node again. Nodes randomly choose another node, from their forwarding table and based on the probability.

Shah and Rabaey [22] claim that this technique achieves 21.5% energy saving and 44% increase in the network life time, compared to directed diffusion. However, this method requires setting up addressing schemes, which makes it more complicated compared to directed diffusion [10].

3.2. Hierarchical protocols

The hierarchical routing methods can provide scalability for the network, while perform as energy efficient methods in WSNs. Scalability is a major task in WSNs and during the design phase must be considered properly. A flat network can impose an overload on the gateway in case of increase in the number of nodes. This in turns, results in latency and inefficiency of the network. Moreover, a single gateway might be inadequate for large networks since the further nodes have to travel several hops to get to the gateway. The fundamental of hierarchical routing is based on clustering the nodes, and choose a node preferably with higher energy level as the cluster head to aggregate the collected data from the nodes within the cluster. These data would be then forwarded either directly towards the base station, or toward other cluster heads. Therefore, the cluster consists of two types of nodes: sensor nodes and router nodes. However, in some cases, routing and sensing might be performed by the same type of nodes. Clusters are typically formed based on the energy resource of the nodes and their distance from the cluster head [11][25][26].

3.2.1. Low Energy Adaptive Clustering Hierarchy (LEACH)

LEACH [14] is one of primarily developed hierarchical protocols for WSNs. Many other routing protocols have been proposed based on LEACH. There are other routing protocols developed independently from LEACH too. PEGASIS [16], TEEN [27], Hierarchical PEGASIS [28] and APTEEN [29] are some examples. There are other routing protocols designed based on different aspect as well of course. Akkaya& Younis [10] introduce a routing protocol called “Energy Aware Routing in cluster-Based sensor networks” which is designed on a different methodology. As this method is out of the scope of this project, it is not discussed here. The details of this technique can be found in [30].

LEACH uses a clustering model as follows: The nodes elect to choose one as a cluster head. The cluster head collects the data in vicinity from other nodes and transfer the aggregated data to the gateway. The cluster head consumes a significant amount of energy in order to transmit these data to the gateway. Therefore, nodes within the cluster periodically elect to assume the role of cluster head frequently to balance the energy consumption in all nodes; hence, to achieve a longer network life. There are certain criteria that must be met by a node to become a cluster head in a particular round:

Typically the number of cluster heads is about 5% of the number of nodes. In these protocols, the whole data aggregation and data propagation take place within the cluster. This decision is made as the nodes choose a random number between 0 and 1. The node can be a cluster head for the current round, if such random number is less than a threshold. After electing the head, each node will be specified a time slot of a TDMA schedule, which can transmit its data within its time slot. At the end of the steady phase, network goes back to the set up phase again and starts a new election. Nodes adopt a CDMA scheme during election time to minimize the interference with other nodes. LEACH does not need the global knowledge of the network. However, LEACH's limitation is single hop transmission. This means each node can only send the data directly to the cluster head or the gateway. This makes the use of LEACH in the wide area networks impractical, especially when reaching the cluster head or gateway is not possible without multi-hop transmission. In addition, the process of cluster head election, involves head changes; advertisement of signal power calculation; and other relating techniques. This results in an extra overhead, which affects the energy efficiency of the network [11].

3.2.2. Power-Efficient Gathering in Sensor Information Systems (PEGASIS)

PEGASIS [16] is an enhanced version of LEACH protocol. In this protocol, nodes form a chain instead of multiple clusters. Each node forwards and receives data from one node in its neighbourhood. This forwarding continues until data reach the sink or the base station. During forwarding the data toward the sink, data aggregation takes place as well. The formation of the chain happens in a greedy way. Node C0 passes its data to node C1. After aggregation of node C0's data with its own, C1 transmits the data to the leader. Node C2 passes the token to node C4 and node C4 forwards its data to node C3. Having aggregated node C4's data with its own, C3 forwards the data to the leader. C2 waits until it receives data from both sides and aggregates it with its own. Then C2 forwards one aggregated message to the base station.

This technique has achieved outperform of between 100% to 300% for various network sizes and topologies. This achievement has been gained due to elimination of overhead caused by dynamic cluster formation in LEACH as well as in-network efficient data aggregation. The major problem in PEGASIS, however, is introducing of excessive delay especially when nodes are far from each other in chain. Moreover, the single leader in network can become the bottleneck and point of failure [10].

3.2.3. Hierarchical-PEGASIS

Hierarchical-PEGASIS [28] is an enhanced version of PEGASIS. The objective of this protocol is decreasing the incurred delay during data forwarding to the base station. It also proposes a solution to the issues of data gathering by proper energy consideration and delay metric. Hierarchical-PEGASIS suggests simultaneous, rather than single data forwarding. Two techniques are proposed to resolve collisions and interference caused by simultaneous data forwarding. First technique exploits CDMA (Code Division Multiple Access) method. The second one allows only the nodes which are far from each other to transmit simultaneously. This chain-form CDMA enabled protocol, forms a hierarchical topology. Each node forwards its data to the upper level node in this hierarchy. This parallel data forwarding consequently decreases the delay.

C3 is the designated leader of the round 3(starting from 0). Therefore, all nodes in an even position transmit their data to the right neighbour. Nodes, which are receiving data in level ‘n’ rise to level ‘n+1’ in the hierarchy. At next level, node C3 is again in an odd position. Hence, all nodes which are in even position forward their data to their right neighbour. In next round, C3 is not in odd position any more. Therefore, C7 forwards its data to C3. C3 aggregates the data received from C7 with its own and forwards it to the base station.

PEGASIS and Hierarchical-PEGASIS avoid overhead caused by dynamic clustering, however, they need dynamic topology adjustment. This is due to nodes' unawareness of their neighbour energy level. Hence, nodes do not know where to forward their data. In order to adjust the topology, significant overhead would be introduced to the network [10].

3.2.4. Threshold sensitive Energy Efficient sensor Network protocol (TEEN)

TEEN [27] is a combination of hierarchical and data-centric protocol for sensor networks. This protocol aims to optimize time critical applications by responding to sudden changes of sensed attributes.

As in all hierarchical protocols, in TEEN the first step is creation of the clusters. After that, two thresholds values are broadcast to the nodes by the cluster; the hard and the soft thresholds. The hard threshold is the minimum possible value of an attribute to trigger the nodes to transmit to the cluster head. This mechanism reduces the number of transmissions in the network. Soft threshold enhances that mechanism as it is the minimum amount of change of an attribute that exceeds the hard threshold which will trigger the actual transmission of data. By adjusting those thresholds, one can control the number of transmissions. However, if these thresholds are not reached, applications which need periodic reports are not going to function properly.

3.2.5. The Adaptive Threshold sensitive Energy Efficient sensor Network protocol (APTEEN)

APTEEN [29] extends TEEN, by adding extra functionality for periodic data collections as well as time-critical events. Same as TEEN, the cluster head broadcasts the attributes, the thresholds values and the schedule for data transmission after base stations constructs the clusters. One of the responsibilities of cluster head in APTEEN is data aggregation. This results in significant energy conservation.

Three different query types are supported by APTEEN: historical; one-time; and persistent. Historical query, analyzes the past data values; the one-time takes a quick view of the network; and the persistent monitors the event for a time duration. TEEN and APTEEN have both outperformed LEACH based on simulation results. APTEEN performs between TEEN and LEACH in terms of network life time and energy conservation. The best performance belongs to TEEN, due to its number of transmission decreasing. Same as PGASIS and Hierarchical PEGASIS, the major deficiencies of these two protocols are the amount of overhead and the complexities they introduce by applying thresholds and attribute-valued naming of requests [11].

3.3. Location-Based Protocols

Routing in location-based protocols performs based on knowledge of the location of nodes. This information is mainly used to estimate the energy usage for transmitting from one node to another. By knowing the location of nodes, there is no need to broadcast the data in the network. In this case, the request can be defused only to the interested region. This results in significant decrease in the number of transmissions. As discussed earlier, because of the scale and spatially distribution of sensor networks; implementing schemes such as IP address is not practical. Most location based routing techniques has been originally designed for MANETs. Therefore, they mainly take the mobility of nodes into account rather than the energy efficiency. However, some of them have been modified to meet the necessary criteria for WSNs as well [10].

3.3.1. Geographic Adaptive Fidelity (GAF)

In GAF [31], which was originally designed for MANETs, the network area is divided into different virtual sections and nodes allocated to each section, collaborate with each other. Each node may have one or more roles to play. GAF makes an election between nodes in each section and one node is elected as node representative. The node representative stays awake for defined time duration and transmits the sensed data to the base station. Therefore, the rest of nodes in that region can go to sleep mode. This method results in a considerable amount of energy saving and it does not affect the fidelity of the network. Each node needs to be equipped with GPS indicator to find its location and associate itself to a certain virtual region. Nodes in a same virtual region are considered as having same routing cost. Hence, the higher the number of nodes in one region, the higher GAF can save energy; since all nodes can go to sleep apart from the node representative. This means GAF can be considered as a very energy efficient method when the density of the network is high.

GAF has three different states: Discovery: in this state, the neighbours in each virtual region are discovered. Active: this state is related to routing participation of nodes. Sleep: in this state, nodes are sleeping and their radio is switched off.

GAF can manage the mobility of nodes by estimating the leaving time of each node and reporting that to neighbours. Neighbours, then adjust their sleeping time based on this information to maintain the network's fidelity level. One node wakes up before the active node leaves a region and takes the role of the active node.

GAF can be implemented in both fixed (GAF-Basic) and mobile (GAF-mobility adaptation) networks.

The simulation result shows that GAF performs as well as other routing protocols in terms of packet loss and latency and conserves energy which leads to prolonging the network life time. GAF can be seen as a hierarchical routing protocol in which cluster heads are node representative. The difference is that the node representatives do not aggregate the data from other nodes. GAF assumes that nodes are all equipped with GPS which may not be practical in all networks.

3.3.2. Geographic and Energy Aware Routing (GEAR)

The concept behind GEAR [32] is using the directed diffusion interest dissemination method. In GEAR, rather than broadcasting the interest to the whole network, it is sent to a certain interested region. GEAR has better energy efficiency by deploying this technique. Nodes keep two types of cost in GEAR: Estimation cost which is based on the distance between sources and sink; and the residual energy of nodes and learned cost: This is an enhanced version of estimation cost. It considers routing around holes in network. A hole emerges when a node cannot find any node closer than itself to the destination. If there is no hole, then the estimation and learned costs are equal. Each time a packet reaches the destination, the learned cost goes one hop back to adjust the route set-up for the next packet.

This algorithm consists of two phases:

Transmitting data toward the interested region: when a node receives data, it checks whether there is a node closer to the destination in its vicinity. If there is more than one node, the closest one will be selected to forward the data toward it. If there is not any node, this means a hole has occurred. In this case, the node sends the packet to one neighbour based on learned cost. Transmitting data within region: In this case, two approaches can be taken. Restricted flooding: This method is appropriate for low density regions; and recursive geographic transmitting: This method has better performance for regions with high density. Recursive geographic divides the region into four smaller regions and sends one copy of the data to each new region. This continues until region(s), with only one node remains.

Various characteristics of routing protocols for WSNs are summarized in the table 1.

Routing Protocol




Data Aggregation




Directed Diffusion



Energy aware


















Table3.1. Comparison of characteristics of presented routing protocols

(Adapted from [10]).

Among all routing protocols studied in this chapter, directed diffusion is the only one meeting the requirements of the proposed class of applications for following reasons:

  • The scenario suggested in next chapter, is a flat network of no hierarchy; no complexity of cluster election. Further, there is no energy consumption corresponding to the cluster election in the suggested network.
  • No geographical information about the nodes position is considered in the proposed application. This attribute, makes it easier to implement the nodes regardless of their location/ region.
  • Directed diffusion is widely used comparing to other routing protocols. Also, it is fairly well supported by the developer and there is a vast body of literature/ documents available on this protocol.
  • Directed diffusion is not only more sophisticated, but also allows the designers to tailor made it in accordance to their specific requirements.
  • As all communication is neighbour-to-neighbour and the data is value attributed, directed diffusion does not require any addressing mechanism.
  • The capability of in-network data aggregation and caching reduces the energy consumption and delay significantly.
  • Furthermore, due to the on-demand nature of directed diffusion, there is no need for global topology retaining.

The above points infer the advantages of directed diffusion as an appropriate method for data-centric applications. Although the default directed diffusion was developed to support data-centric query-driven applications; as it is shown in this project, a modified version of directed diffusion can appropriately work for data-centric event-driven application as well.

Chapter 4: A New Application of Directed Diffusion in Static Networks with Limited Data Typology and Multiple Sinks/Sources

This chapter aims to introduce a new application of directed diffusion routing protocol in a peculiar yet vastly used type of WSNs with multiple number of sinks and sources and limited types of data. For such WSNs, a particular mode of directed diffusion is prescribed to enhance both QoS and energy efficiency of the network. This paradigm is later validated by implementing said WSNs in a simulator and evaluating the results compared to the default mode of directed diffusion (2-Pull phase).

To this end, in the following section, the characteristics of QoS and the effect of data dissemination on energy efficiency should be elaborated. Further the question of selecting the appropriate simulator is taken into account.

4.1. Quality of Service (QoS) in WSNs

Since WSN applications are mainly non-end-to-end and mission-critical, they require a new QoS, which is inherently different from conventional end-to-end applications. Furthermore, distinctive features of WSNs such as resource constraint; large scale; mobility; and failure of nodes or links raise a challenge in the field of QoS in WSNs [34]. Therefore, firstly, the QoS requirements for WSNs will be analyzed and some QoS parameters for non-end-to-end collective applications will be introduced. Next, some of the challenges for applying QoS in WSNs will be investigated.

Although many researches have been conducted on different aspects of WSNs such as designing; deployment; and the power conservation, QoS is still a major unexplored topic in this field because of the significant differences between WSNs and the conventional networks. It is still unclear how the services in WSNs must be defined due to the complex nature of such networks and their large scale, far less the concept of QoS could be defined. QoS is not a term with a fixed definition [35].It is interpreted differently in different areas. In application area, QoS is the quality from application or user point of view. Applications are not concerned how network provides them with required services. In network area, QoS is the amount of service that network provides for the application or user. In RFC 2386 [36], QoS is a set of services required to be provided at the time of transmitting a stream of data from source to destination. This means that network should provide the appropriate services for end user in terms of delay, jitter, bandwidth, and packet loss. In order to provide these services, the network must examine the application enquiries and sets up a range of QoS mechanisms. In conventional networks, QoS is mainly concerned in multimedia applications which require high bandwidth and low delay and jitter. In these cases, network must provide a better service than the best effort services [34]. These services could be guaranteed or differentiated for end-to-end applications.

Due to specific features of each network, different QoS expectations may be requested from the network. The limitation of bandwidth and mobility of ad hoc networks require completely different type of QoS and this makes it very challenging. This is worse in case of WSNs, as the power constraint is more severe and the processing power is even lower. Therefore, new QoS parameters must be defined to deliver the data in an efficient way in WSNs. Should a set of parameters is defined for QoS, designers will be able to determine which parameter(s) is applicable to their network.

4.1.1. Parameters of QoS in WSNs

There are many types of sensors with their own applications and QoS expectations. Therefore, it is not feasible to examine them individually. However, since the QoS is imposed by applications to the networks, aspects other than networking aspect of QoS can be considered. As mentioned, different interpretations exist for QoS, depends on the area it applies to. For example, in an event detection application such as temperature or humidity detection, failure or wrong detection of event may happen due to management or deployment of network, for instance lack of coverage in the event area. Thus, the coverage could be one of the parameters of QoS. Another reason for failure may be inaccurate or low rate of observation of sensors. Therefore, accuracy and error rate can be another parameter of QoS. Further, information loss can be considered as a QoS parameter. The purpose is to spotlight how the network can present the QoS to applications. To this end, two perspectives of QoS in WSNs are defined as application-based QoS and network QoS [35]. Application-Based QoS

From application point of view, QoS parameters such as coverage [37]; exposure [38]; measurement errors; and optimum number of active sensors [39] are considered. The applications put their requirements on the topology of the deployed network. Such expected QoS should be satisfied by the active sensors. Network QoS

From network point of view, the way that underlying network delivers QoS by utilizing the network’s resources is concerned. It is not feasible to examine each application in WSNs individually. Applications should be examined in classes, clustered by their common characteristics and requirements from the network. In effect, the application itself is not considered from QoS point of view, but the way that data are delivered from sensors to the sinks is important. Basically, there are three data delivery models: event-driven, query-driven, and continuous delivery models [13].

Before explaining each data delivery model, a list of factors that portrays the application provisions is introduced: end-to-end; interactivity; characteristics; and criticality [34].

Event-driven: The event-driven applications are non-end-to-end, interactive, delay intolerant (real-time) and mission critical. The application detects the events and acts appropriately. The actual application is non end-to-end, since there is a sink in one end, and a range of sensors on the other end. Thus, the redundancy might be very high since the sensors are intensively correlated. Also in case of an event, a large traffic may propagate towards the sink from the sensors within the range of the event called “event shower”. Event-driven data delivery includes many WSN applications which needs to take an action in case of occurrence of an event, for example actuating an alarm in case of temperature raise/humidity drop in forests.

Query-driven:The query-driven applications in WSNs are non end-to-end, interactive, delay tolerant and mission critical. Queries are sent on demand. Therefore, the nodes do not send any data upon detecting an event. This results in great energy saving since the data is only sent in case there is an interest in that data from a user. Query-driven is identical to event-driven model. The only difference is that data is pulled by the sink rather than being pushed by the source.

Continuous:Data are sent continuously from sensors to nodes. The data could be either real time for example a voice or video streaming which is delay-sensitive and requires a minimum bandwidth, however, packet loss is tolerable. Or it could be non-real-time data such as a video or voice signal or a periodic interest in a particular data by the user. In such scenario both delay and packet loss, are tolerable [34].













Delay tolerance








Table 4.1. Application Requirements [34]

Hybrid models:In some networks, there might be a combination of different models. In this case, different types of QoS may be required to facilitate the appropriate traffic delivery in the network. Therefore, it can be seen that end-to-end QoS parameters are inappropriate for non end-to-end applications. Hence, some non end-to-end parameters must be proposed for WSNs. These parameters are called collective QoS and they are as follow:

Collective latency

Collective packet loss

Collective bandwidth

Information throughput

WSNs are not mainly utilised for video and voice streaming, therefore jitter is not a major parameter of QoS.

Collective latency is the time difference between the first and last packet collected with sensors reaching the sink.

Collective packet loss is the number of lost packet during data collection of an event.

Collective bandwidth is the required bandwidth for delivering the data of an event to sink(s) [34].

4.1.2. QoS Challenges in WSNs

Due to the interaction of WSNs with environment and their large scale, their features are completely different from other conventional networks. In fact WSNs inherit all specification of wireless networks plus more complexities which are mentioned in the next section [34]. Resource Limitation

This limitation involves energy, bandwidth, processing power and transmission power. Energy constraint is the most important factor since replacing the battery may not be possible in many instances. These limitations require a special care to be taken to map an appropriate and simple QoS. Intensive calculation and communication are not tolerable in WSNs. Uneven Traffic

The traffic flow in WSNs is mainly from various nodes towards the sink(s). Therefore, the QoS parameters should be designed for an uneven traffic flow. Data Redundancy

Although redundancy improves the robustness of the network, it is at the expense of the extremely valuable energy consumption. In order to reduce redundancy and maintain the robustness of the network, techniques such as data fusion and data aggregation are used. These techniques will be studied in “directed diffusion in detail” section. Network Dynamics

Mobility or failure of the node or in the channel results in in-network dynamic issue. The dynamic network increases the difficulties of the QoS implementation in a network. Power Balance

The energy consumption in the network should be in a way that the energy of a certain node or a set of nodes does not get dissipated so quickly and leads to the breakage of the network. QoS should consider this matter and the tasks should be distributed among nodes to balance the nodes’ life expectancy. Scalability

WSNs may consist hundreds or thousands of nodes scattered randomly in an environment. Therefore, the QoS must extendible and should not degrade when the number of nodes or the network density increases. Multiple Sinks

Several links in a WSN may collect different data from different nodes. For example one link may receive temperature from one set of nodes while another sink receives humidity data from different nodes or the same ones in different time intervals. QoS must be applicable to different sinks in different level. Multiple Traffic Types

Combination of heterogeneous sensors detecting different types of data for some applications makes the QoS support more challenging.

4.2. Simulator Selection

Three methodologies could be employed to evaluate the performance of a network [1]:

Analytical methods;

Computer simulation;

Practical implementation.

The analytical method is typically inappropriate for WSNs due to the complexity of these networks. The practical implementation of algorithms is highly expensive and in many cases impractical to match with the required scale and application dependency of WSNs. Therefore, simulators are considered as the most appropriate method for testing and analysing WSNs. In addition, the high cost and necessary expertise for implementation of real networks has encouraged the research community to employ simulator for evaluation of their algorithms.

Simulators for WSNs fall into two major categories: Those which are an extension to existing network simulators such as SensorSim [40], an extension to NS-2; or those which are designed for the simulation of WSNs such as TOSSIM [41].

In this section, the most comprehensive simulators for WSNs are studied and evaluated.

4.2.1. OMNeT++

OMNeT++ (Objective Modular Network Test-bed in C++) [43] is a general network simulator based on the discrete event simulation framework. OMNeT++ can collect hierarchy modules. This enables this simulator to capture complex systems. The hierarchy modules are categorised in either simple or compound groups. Simple modules are written in C++. The compound modules are made from several simple modules and are programmed in NED, a high-level language. The exchanging massage is exploited to communicate between modules. This message represents the packets used in the network. OMNeT++ can support the effect of scale; energy efficiency; system level; and communication level architecture. OMNet++ supports the wireless communication with the aid of INET and mobility frameworks. However, the sensing and energy models in OMNeT++ are not sufficient and this makes it unsuitable for WSNs.

4.2.2. OPNET

OPNET is an object-oriented network simulator. It is a commercial simulator available for free for academic purposes. OPNET is not widely used for WSNs due to the scalability and extensibility issues. Therefore, although it is a widely used simulator in the networking field, it is not a suitable simulator for WSNs.

4.2.3. J-Sim

J-Sim [44] is written in Java. It is an object-oriented, component-based, compositional simulation environment. J-Sim is easy to use in terms of adding and removing plug and play modules and it can be used for network emulation as well. That means it can incorporate with real sensors. J-Sim supports sensor and sink nodes; sensor and wireless communication channels; and power and energy models. However, J-Sim is complicated to use and due to the limited established users, it is not as widely adopted as NS-2 or OMNET++ [1].

4.2.4. SensorSim

SensorSim [40] is a simulator based on NS-2 for WSNs. SensorSim was developed to provide all necessary models for WSNs such as channel models, energy consumers, lightweight protocol stacks and scenario generation. However, this simulator is not developed any more. Therefore, it is no more available.

4.2.5. TOSSIM

TOSSIM [41] is a discrete event simulator developed to simulate the Berkeley MICA mote hardware platform running applications built on TinyOS. Users can compile TinyOS in the TOSSIM framework and run it on a PC. TOSSIM supports four key requirements of the TinyOS simulator: scalability, completeness, fidelity and bridging. TOSSIM is an appropriate choice for evaluation of a high level application, but it is not suitable for protocols such as MAC. TOSSIM mainly focuses on the TinyOS sensor networks. Therefore, it cannot be used for evaluations in the real world.

4.2.6. NS-2

NS-2 [2] is a discrete event simulator for networks. NS -2 is developed by VINT (Virtual InterNetwork Testbed) project group. Supported by the Defence Advanced Research Projects Agency (DARPA), The VINT is a joint effort by UC Berkeley, USC/ISI, LBL, and Xerox PARC. NS-2 supports many protocols and aspects of networking in both wired and wireless networks in all layers of the protocol stack. The recent version of NS-2 (2.34) also supports wireless sensor networks and their MAC and routing protocols.

The structure of NS-2 is as follow:

The simulation is written in Tcl script. Tcl initiate an event scheduler and sets up the network topology with the aid of the network objects and the library’s plumbing function. It also defines the traffic start/stop time for transmitting packets through the event scheduler.

The event scheduler and the core component objects are written in C++ to reduce the processing time. Then the compiled objects use the OTcl linkage to generate the Corresponding OTcl object for the C++ objects in order to make it work with OTcl interpreter. NS-2 is under GNU and therefore, it is a free application. It can be installed in Linux. However, with the aid of Cygwin [42], it can be installed in Windows as well.

The study of the major routing protocols for WSNs concludes that the latest version of NS-2 is the most appropriate choice for the purpose of this project.

NS-2 version (2.34) not only does support the WSNs but it also supports the directed diffusion routing protocol and it is API. The directed diffusion model in NS-2 is ported from SCADDS [45] at USC/ISI.

The trace files’ format can be interpreted to easy readable information with the assistance of scripts such as Perl and Awk. NS- 2 “all-in-one” package also includes NAM (Network Animator) which is used for scenario visualisation, packet motion, and node movement. NS-2 Installation

In so far, the NS- 2 version 2.34, is the latest and used for the purpose of this project. The operating system is Linux Ubuntu version 9.04.

To install NS- 2, the steps shown in figure 5.2 should be taken.

Once applied to NS-2, scenarios written in Tcl generate files with .tr and/or .nam suffixes. The desired data are extracted from .tr files with the aid of written script and can then be used for the evaluation of the result. Respectively, .nam files can be used for visualisation of the scenario respectively.

4.3. Evaluation of Simulated WSN Performance

As many aspects of WSNs are yet unexplored, it is rather difficult to find appropriate documents for simulating them with NS-2. Hence, an extensive research and numerous tests were carried prior to achieving the result from NS-2 for the scenario detailed in this report. However, the final result covers the intended parameters for evaluation of the desired scenario.

For evaluation, the energy efficiency; collective delay; and packet loss, as the core parameters of QoS (see section 4.1. Network QoS for details) –during 2-pull phase and push mode of directed diffusion- will be put under scrutiny. To this end, those details of the directed diffusion relevant to data propagation and aggregation are studied. Further, the modification desired for the purpose of this project is explained and theoretically evaluated. Next, the implementation of the scenario for the physical and MAC layers are explained; and then the push directed diffusion is used as the routing protocol. The nodes (sinks and sources) are implemented; and the role and the data generation time of each one are then defined. Following that, the simulation is run and the result are analysed using a script specifically written for the output of this scenario. Finally, the same scenario is run, this time using the default directed diffusion protocol with the same setting; physical and MAC layers; energy model and initial energy of the nodes. The output is analysed using the same scripts. The result of the two outputs are then compared, to evaluate the effectiveness of the modified directed diffusion in term of average energy dissipation of nodes as well as the collective latency of the network in each scenario. The scenario is run with different number of nodes, sources and sinks to increase validity of the results and also to study the effect of the modified routing protocol on different network sizes with various number of sources and sinks.

4.3.1. Data Dissemination in Directed Diffusion

The fundamental of directed diffusion was discussed in 3.1.2. Hereby, we consider directed diffusion as an open paradigm that can be tailor designed for a class of applications.

As discussed earlier, directed diffusion is completely different from IP-based paradigms where nodes have a unique address in the whole network and the data forwarding is layered on top of this end-to-end addressing. In directed diffusion, a code is run throughout the network to aware the nodes of the application. This code allows diffusion to undertake in-network message processing such as caching and aggregating. This in turn, decreases the end-to-end traffic, and results in significantly better energy savings.

Each node which is interested in receiving data, should subscribe for that desired data using publish-subscribe API. Nodes become the sink once they subscribe to receive data. The nodes which detect that particular data publish it and in turn, they become the source. The next step is the dissemination of this interest from sinks in the network and in response, the dissemination of the data back to the sinks from the data generators (the sources). Since communication uses significantly more energy than computation, the methodology for data dissemination in the network is the most important point for energy efficiency of the routing. Non-optimised data dissemination can result in excessive delay and packet-loss in the network. Therefore, the appropriate dissemination of data should be decided and designed based on the application of the network. For example, for tracking a mobile object in the network, the sinks should send their interest based on the attribute and value of the data, as well as the time interval and the duration that they desire to receive that particular data. This interest should be periodically sent towards the sources to ensure that data arrives reliably and the best routs are always selected [33].

The default directed diffusion propagates the data based on a technique called 2-pull-phase. As the name indicates, data propagation constitutes of two phases. This method tries to establish several routes between sources and sinks. The sinks subscribe for a particular data and create a message in accordance to naming concept which comprises of key, type, operator and value. The key and the value of the data define the specification of the desired data, for example, 4-wheel truck with 80% confidence. The type defines whether a data is string, integer, binary data, floating number, etc. The operator enables the attribute to have the comparison option, for example, EQ (equal), GT (greater), LE (less than) and so on.

The purpose of this project is to examine the effect of the dissemination technique exploited in directed diffusion to optimise it for the specific set of application which is explained later in this section. Therefore, the attribute and value of the data and the filtering methods used in directed diffusion is kept as simple as possible and identical in all scenarios to ensure the performance is merely the effects of data dissemination methodology and not the other parameters.

Having the interest defined based on the naming concepts, it is propagated throughout the network with simply broadcasting it in the whole network unless other techniques such as geographically dividing network into different regions is used such as the techniques exploited in GEAR explained in section 3.3.2; or sending the interest to some selected nodes possibly chosen by a random selection. Sending the data to some nodes rather than broadcasting it is of course a trade-off between delay and energy efficiency. Each node upon receiving the interest from its neighbours, sets a gradient towards that neighbour based on parameters that can be defined such as data-rate derived from time interval attribute, time duration derived from start/stop time and possibly some aspects of ‘operator’ defined in naming aspect, for example greater than 80% confidence. The node then, cashes the interest in its interest table and forwards it to its next hop neighbours. If a node receives a similar interest from more than one node, it simply discards it. Two interests are similar if all attributes of them are similar. If two interests are different in time duration but same in all other parameters they can be considered as two different interests. This process continues until the interest reaches the sources where the nodes switch on their sensors to detect the interested event. Upon detecting the relevant data, the sources forward it in the network to the nodes that they received the corresponding interest form. Sources send the data to the nodes from which they receive the interest, according to the gradients that they have set towards that node. This process continues until the data reaches the interested sink(s). If a source has received one interest from several nodes but with different data rate, it sends back the data to each one based on the data rate that they have specified in the data rate field. When an interest expires, it is removed from the interest table and the corresponding gradients are removed as well.

The propagation of interest in the network and return of the data to the sinks is called exploratory interest and exploratory data. Exploratory interest and data comprise the first phase of the 2-pull phase.

In the second phase, the actual data should start flowing towards the sinks. This is done by a technique called reinforcement. Sink, upon receiving the data from several routes decides which route is better for receiving the data onward. Therefore, the sink starts sending the interest with higher data rate into that route in order to reinforce that route to bring the data. The better route is selected according to several parameters such as delay, packet loss ratio and the data deficiency rate. Sink also can reinforce more than one route for receiving the data in case of node or channel failure in one or more of the routes, to receive data from other routes. This technique trades off energy conservation for fast data recovery. The reinforcement can be positive reinforcement as explained, aiming to increase the data rate in the desired route. Otherwise it can be negative reinforcement by sending lower rate interest to undesired route(s) in order to tear apart those undesired routes. The sink keeps sending interest but with lower data rate to keep the routes alive and to adapt to the network dynamics. The propagation of actual data from sources to sinks is the second phase of the 2-pul phase.

4.3.2. Energy Dissipation during the First Phase of Directed Diffusion

As discussed, considerable amount of time and energy is spent in the first phase of the 2-pull phase directed diffusion, which is although necessary in query-driven applications such as mobile object tracking; it can be omitted in an event-driven scenario that the nodes are fixed and the event is static, for instance temperature detection in an area. In such an application, there is no need for a sink to send the interest to the sources on a regular interval and asks for the temperature to be read and sent. The sinks can subscribe for the data and instead of propagating the interest, and wait for the data to be sent back when the event occurs. The nodes in directed diffusion are application aware; therefore, the sources can be set to detect the required data and broadcast it throughout the network. In this case, one of the exploratory phases is omitted and there is only the data exploratory phase which follows sources to the sinks. The reinforcement and path selection is based on the data received from sources. This method is more effective when there is no geographical division in the network and there are several sources to send the data and several sinks interested in that data because in this case, large scale data dissemination is nullified by eliminating the broadcasting in the first phase of directed diffusion.

4.4. Generic Scenario

4.4.1. Scenario Proposal

Default directed diffusion (2-pull phase) maintains at least one active route between a source and a sink, even when there is no event detected. This method is very inefficient for scenarios like the following:

Consider an event-driven network comprised of several nodes interested in a data and several nodes which can generate this data; the data-rate is fairly low and once the sources detect this data, they forward it towards the sinks. In such scenario, there is no need for propagating the interest throughout the network. Instead, the interest can be kept local in the sink while sources broadcast the exploratory data upon detecting an event, until they reach the sinks. Positive reinforcement is created in this phase recursively towards the sources from the sink and the actual data is propagated back from sources merely on this positively reinforced paths.

In order to evaluate the effectiveness of this method (which is known as push, because the data is pushed by the source rather than being pulled by the sinks), the network is considered to have several sources and sinks. All sinks are interested in data generated by all sources. In fact, there is only few type of data generated in the whole network and sinks are interested in these particular data to act accordingly upon receiving it. Study of various sources and literatures on WSNs, concludes that our described scenario constitutes for one of the most common and realistic utilizations of WSNs. In fact, although the applications of WSNs are unlimited, the case that the whole network is interested in one or few type(s) of data is very common, especially in civil applications.

Imagine a factory that the temperature or the level of lubricant in several parts of the machineries should be checked and in case of passing the threshold level (defined in naming structure, key, type, operator and value), the data should be sent towards the sinks in several other parts of the machinery or factory for taking the necessary actions. Plausibly, nodes’ battery replacement may be difficult and expensive, as the production line should be stopped and machines get knocked down. In such scenarios, the data rate is usually low; thus, there is no need to maintain an active route from each sink to each source at all times. The routes are created once the event is detected, and the data is forwarded at the same time. In the following chapter, the efficiency of energy conservation by this method, and its competitive advantage comparing to default direct diffusion will be further elaborated by presenting the results of the simulations.

4.4.2. Scenario Simulation

To evaluate the effectiveness of explained methods, a network with three different sizes is designed with these attributes:

  • 25 nodes (5x5) in a 160 sqm,
  • 36 nodes (6x6) in 200 sqm
  • 49 nodes (7x7) in a 240 sqm

See appendices for the detailed implementation of these scenarios in NS-2 simulator and the scripts used for analysing the simulator’s output.

The rationale for increase of the physical network size along with the increases in the number of nodes in each scenario is to keep the network density intact, and to omit any possibility for in-network connectivity effect. This initiative ensures that the challenges of detection and coverage (as explained in QoS section) are addressed.

Each scenario is implemented with different number of sinks and sources to study the performance of the network in different situations. Each scenario is simulated twice, once with 2-pull-phase and once with push to compare the result in different situations.

Nodes are positioned on a flat grid with 40 meters distance from each other in both directions as depicted in figures 4.3, 4.4 and 4.5. Nodes are selectively positioned and not randomly scattered, to make sure the topology is exactly the same in all simulations, specifically in terms of in-network connectivity.

Data propagated in the network is nothing but a ping packet, which is broadcast in the network during a pre-defined time interval. Such a neutralized data packet (which is of no attribute-value pair) with an identical transmission time avails an equal condition for both 2-pull and push.

The initial energy of nodes is set to 1000 Joules.

The network runs for 100 seconds.

The queuing type is dropTail with only 50 packets queue long to increase the chance of packet drop for better result assessment.

The antenna is an omni-directional with 1.5 meters height in the middle of the nodes with flat gain to nullify the antenna gain effect during reception and transmission.

The MAC layer is 802.11.

The bandwidth of the shared media is set to 28.8 kbps.

Sources and sinks are selected from the most left column and the most right column respectively in four different ways:

3 sources and 2 sinks.

3 sources and 3 sinks.

5 sources and 2 sinks.

5 sources and 3 sinks.

Sources and sinks are selected from the most left column and the most right column respectively in four different ways:

3 sources and 2 sinks.

3 sources and 3 sinks.

6 sources and 2 sinks.

6 sources and 3 sinks.

Sources and sinks are selected from the most left column and the most right column respectively in four different ways:

4 sources and 3 sinks.

4 sources and 4 sinks.

7 sources and 3 sinks.

7 sources and 4 sinks.

Chapter 5: Performance Evaluation

5.1. Energy Efficiency Evaluation

This chapter concerns with the evaluation of energy efficiency and collective latency of the scenarios explained in the previous chapters of this report.

The result of the simulation in terms of energy dissipation and efficiency of each network scenario with respective numbers of sources and sinks is depicted in figures 5.1, 5.2 and 5.3.

The difference of energy in each network for both default directed diffusion (shown as 2-pull) and the modified one for the purpose of the applications of this project (shown as push) are depicted in figures 5.1, 5.2; and 5.3.

As illustrated above, the energy dissipated in push scenario is lower than the 2-pull phase and as the number of sources and sinks increases, the difference between them raises.

It should be noted that the network was run only for 100 seconds. This explains why the energy dissipation difference between 2-pull phase and push is not significant. Such network is expected to work for several weeks and this could be resulted in a significant energy saving over such a long period. As the number of sources and sinks in each scenario increases, the difference in energy dissipation of 2-pull and push raise. This confirms our earlier evaluation of push and 2-pull for such a event-driven network, in which it was theoretically concluded that push method holds a comparative advantage for such networks. In other word, the bigger the size of the network and the more sources and sinks, the more energy efficiency can be achieved form push technique in event-driven networks.

This energy saving is the result of less interest dissemination and absence of an active link between each source and node in the network. This is also explained theoretically and evaluated in depth earlier in this section.

5.2. Collective Latency Evaluation

In the following section the performance of two networks in terms of collective latency, as the major QoS parameter is studied. The collective average latency of each network for different number of sources and sinks are depicted in figures 5.4, 5.5 and 5.6.

As illustrated in figures 5.4, 5.5 and 5.6, the difference in delay is significant between 2-pull phase and push networks. This difference remarkably increases as the number of nodes increases. This is due to the number of active links between sources and sinks in 2-pull which does not exist in push. In 2-pull phase when a data is desired, it should be requested by the corresponding sink(s). This request should be propagated in the network until reaches the appropriate source with the desired data cashed in its cash table. This data should be sent back to the sinks. Consequently, a route is established between source(s) and sink(s) using reinforcement. Data then starts flowing on this route. In other word, the data should be pulled by the sinks. This burdens an extra overhead on the network, and subsequently the round trip travel of data, results in excessive delay. The same data in push is propagated once it is detected, and the sinks which have already subscribed to that data will receive it as exploratory data. Reinforcement is then established and following that starts the receiving of actual data. In other words, the data is pushed by the source in push; this reduces the number of trips and reliefs the network from excessive overhead.

The networks are examined in terms of packet ratio loss as well. However, because of good channel condition and in network connectivity, as well as static nodes, the packet loss ratio is trivial in all networks, and hence, the outputs are not depicted.

Based on the results of simulation and the theoretical evaluation, the push has several advantages over 2-pull phase. However, as discussed earlier, the outperformance of push depends on the application of the network, and although push is very effective for such event-driven networks (as defined in the scenarios of this project), it cannot be used in a query-driven network, where sinks need to receive data on demand. For example, in case of mobile object tracking, such as observing wildlife. In this case, sinks may need to define what kind of data they are interested in and depending on the attribute and value of data, diffuse this interest in network and task sinks to receive corresponding data. Obviously, push cannot be implemented in such scenario since sources do not know what data sinks are interested in, at any time. In other word, if the types of data which sinks are interested in are predefined for sensors – possible case in many scenarios- then push can be implemented. However, if the requested data is arbitrary and its characteristics change over the time, then this characteristic should be defined by the sinks at the time of request.

Chapter 6: Conclusion

Routing techniques have been one of the most complex and challenging topics in the field of WSNs due to the inherent large size of these networks and their energy scarcity.

In this report, the general attributes of WSNs were explained and some of their applications were introduced. A literature review on major existing routing protocols was provided and the advantages and disadvantages of each protocol were explained. Furthermore, the objectives, motivation, and methodology for the project were elaborated. The QoS in WSNs was elaborated in a further chapter and finally, to touch upon the core purpose of this project, a generic WSN scenario with specific application was introduced. Thereafter, a modified paradigm developed based on the directed diffusion protocol, namely ‘push’ was implemented by a simulator. This has brought us to first, assess a wide range of network simulators and select the most appropriate one. Among the simulators studied, is the one supporting many aspects of WSNs, namely NS-2. Using NS-2, the performance of push mode was compared against the default directed diffusion protocol, i.e. 2-pull. Subsequently, the reasons for outperformance of push versus 2-pull in the developed scenarios were thoroughly elaborated. However, this performance is achievable for event-driven applications with pre-defined interests for sources. Push mode is not applicable for query-driven networks where interests should be defined on demand. Many civil applications of WSNs have such characteristic and are based on pre-defined interests. Therefore, push can be an appropriate choice as a routing protocol for them.

Successful completion of this project resulted in a sound understanding of WSNs in general; and the associated routing protocols in particular. The project further provides a compendium of an up-to-date knowledge-base for WSNs practitioners. Moreover, useful skills on designing WSNs are achieved, in terms of implementing appropriate physical and MAC layer.

However, number of challenges was raised during the course of completion of this project. Among which, the complicacies of dealing with open-sources codes of NS-2, and lack of adequate references/resources on the subject of this research could be named. Also learning Tcl script language used in scenario development; and use of Awk for analysis of simulated results were joyful, yet time consuming and challenging tasks.

The future direction of this project is to further study the routing protocols and analyse them in depth. The generic scenarios developed in this project could be implemented in the actual equipment on test-beds. Further researches of the broader arena of WSNs, is also another step envisaged to be taken, after completion of this project.


  1. Merrett G, White N, Harris N, Al-Hashimi M. Energy-aware simulation for wireless sensor networks. Sixth Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON 2009); Rome, Italy: 2009 Jun
  2. The Network Simulator – ns – 2. [Online]. [Cited 2009 Oct 24]; Available from: URL:
  3. Raghavendra CS, Sivalingam KM, Znati T. Wireless sensor networks. New York: Kluwer Academic; 2004. P. 3-21.
  4. Cayirci E, Govindan R, Znati T, Srivastava M. Wireless sensor networks. Computer Networks 2003 Nov 15;43(4):417-9.
  5. Sohraby K, Daniel M, Znati T. Wireless sensor networks, technology, protocols and applications. New Jersey: John Wiley & Sons, Inc.; 2007. P. 40
  6. Sohraby K, Daniel M, Znati T. Wireless sensor networks, technology, protocols and applications. New Jersey: John Wiley & Sons, Inc.; 2007.
  7. ] Sohraby K, Daniel M, Znati T. Wireless sensor networks, technology, protocols and applications. New Jersey: John Wiley & Sons, Inc.; 2007. P. 39
  8. Halter M. Wireless sensor networks: mass market opportunities. San Diego (CA): ON World, Inc.; 2004.
  9. Krishnamachari B, Estrin D, Wicker S. Modelling data-centric routing in wireless sensor networks. Proceedings of the 21st Annual Joint Conferences of the IEEE Computer and Communications Societies (InfoCom'02); New York: 2002 June.
  10. Akkaya K, Younis M. A survey on routing protocols in wireless sensor networks. Ad Hoc Network Journal 2005;3(3):325-349.
  11. Al-Karaki JN, Kamal AE. Routing techniques in wireless sensor networks: a survey. IEEE Wireless Communications 2004 Dec;11(6):6-28.
  12. Subramanian L, Katz RH. An architecture for building self configurable systems. Proceedings of IEEE/ACM Workshop on Mobile Ad Hoc Networking and Computing; Boston, MA: 2000 August.
  13. Sohrabi K, Gao J, Ailawadhi V, Pottie GJ. Protocols for self-organisation of a wireless sensor network. IEEE Personal communications 2000 Oct;7(5):16-27.
  14. Heinzelman W, Chandrakasan A, Balakrishnan H. Energy-efficient communication protocol for wireless sensor networks. Proceedings of the Hawaii International Conference System Sciences; Hawaii: 2000 January.
  15. Intanagonwiwat C, Govindan R, Estrin D, Heidemann J. Directed diffusion for wireless sensor networking. IEEE/ACM Transactions on Networking 2003 Feb;11(1):2-16.
  16. Lindsey S, Raghavendra C. Pegasis: power-efficient gathering in sensor information systems. Proceedings of the IEEE Aerospace Conference; big Sky, Montana: 2002 March.
  17. Yao Y, Gehrke J. The cougar approach to in-network query processing in sensor networks. SIGMOD Record 2002 sep;31(3):9-18.
  18. Kulik J, Heinzelman W, Balakrishnan H. Negotiation-based protocols for disseminating information in wireless sensor networks. Wireless Neworks 2002 Mar;2/3(8):169-185.
  19. Braginsky D, Estrin D. Rumor routing algorithm for sensor networks. Proceedings of the First Workshop on Sensor Networks and Applications (WSNA); Atlanta, GA: 2002 October.
  20. Schurgers C, Srivastava MB. Energy efficient routing in wireless sensor networks. MILCOM Proceedings on Communications for Network-Centric Opertions: Creating the information Force; McLean, VA: 2001.
  21. Chu M, Haussecker H, Zhao F. Scalable information-driven sensor querying and routing for ad hoc heterogeneous sensor networks. The International Journal of High Performance Computing Applications 2002 Aug;16(3):293-313.
  22. Shah R, Rabaey J. Energy aware routing for low energy ad hoc sensor networks. Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC); Orlando, FL: 2002 March.
  23. Sadagopan N, Krishnamachari B, Helmy A. The acquire mechanism for efficient querying in sensor networks. Proceedings of the First International Workshop on Sensor Network Protocol and Applications; Anchorage, Alaska: 2003 May.
  24. Hedetniemi S, Liestman A. A survey of gossiping and broadcadting in communication networks. Networks 1988;18(4):319-49.
  25. Tilak S, Abu-Ghazaleh NB, Heinzelman W. A Taxonomy of Wireless Micro-Sensor Network Models. ACM SIGMOBILE Mobile Computing and Communications Review 2002 Apr;6(2):28-36.
  26. Lin CR, Gerla M. Adaptive clustering for mobile wireless networks. IEEE journal on selected areas in communications 1997 Sep;15(7):1265-75.
  27. Manjeshwar A, Agrawal DP. TEEN: A Routing Protocol for Enhanced Efficiency in Wireless Sensor Networks. 15th International Parallel and Distributed Processing Symposium (IPDPS'01) Workshops; San Francisco, CA: 2001 Apr.
  28. Lindsey S, Raghavendra CS, Sivalingam K. Data gathering in sensor networks using the Energy*Delay Metric. Proceedings of the IPDPS Workshop on Issues in Wireless Networks and Mobile Computing; San Francisco, CA: 2001 Apr.
  29. Manjeshwar A, Agrawal DP. APTEEN: a hybrid protocol for efficient routing and comprehensive information retrieval in wireless sensor networks. Proceedings of the 2nd International Workshop on Parallel and Distributed Computing Issues in Wireless Networks and Mobile computing; Ft. Lauderdale, FL: 2002 Apr.
  30. Younis M, Youssef M, Arisha K. Energy-Aware routing in Cluster-Based sensor networks. Proceedings of the 10th IEEE/ACM International Symposium on Modeling,Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS2002), Fort Worth, TX: 2002 Oct.
  31. Xu Y, Heidemann J, Estrin D. Geography-informed energy conservation fro ad hoc routing. Proceedings of the Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom'01); Rome, Italy: 2001 Jul.
  32. Yu Y, Estrin D, Govindan R. Geographic and energy-aware routing: a recursive data dissemination protocol for wireless sensor networks. UCLA computer Science Department Report; UCLA-CSD TR-01-0023: 2001 May.
  33. Silva F, Govindan R, Estrin D, Heidemann J. An overview of directed diffusion. [Online]. [Cited at 2009 Dec 11]; Available from: URL:
  34. Chen D, Pramod P, Varshney K. QoS support in wireless sensor networks: a survey. [Cited 2009 Jun 10]; [17]. Available from: URL:
  35. Ganz A, Ganz Z, Wongthavarawat K. Multimedia wireless network: technologies, standards, and QoS. Upper Saddle River (NJ): Prentice Hall; 2004.
  36. Crawley E, et al. A framework for QoS-Based routing in the internet, RFC2386. 1998 Aug; [Cited 2010 Jan 02]; Available from: URL:
  37. Meguerdichian S, Koushanfar F, Potkoniak M, Srivastava M B. Coverage problems in wireless Ad-hoc sensor networks. Proceedings of IEEE Infocom; 2001: 1380-1387.
  38. Meguerdichian S, Koushanfar F, Qu G, Potkonjak M. Exposure in wireless Ad-hoc sensor networks. Mobile Computing and Networking 2001: 139-150.
  39. Iyer R, Kleinrock L. QoS control for sensor networks. ICC 2003 May.
  40. Park S, Savvides A, Srivastava M B. SensorSim: A simulation framework for sensor networks. Int′l Workshop Modeling, Analysis and Simulation of Wireless and Mobile Systems; Boston; 2000: 104-111.
  41. Levis P, Lee N, Welsh M, Culler D. TOSSIM: Accurate and scalable simulation of entire TinyOS applications. Int′l Conf. Embedded Networked Sensor System (SenSys’03); Los Angeles; 2003: 126-137.
  42. Cygwin. [Online]. [Cited 2010 Jan 02]; Available from: URL:
  43. Mallanda C, Suri A, Kunchakarra V, Iyengar S S, Kannan R, Durresi A. Simulating wireless sensor network with OMNeT++. Sensor Network Research Group, Department of Computer Science, Louisiana State University; Los Angeles: 2005 January.
  44. J-Sim Official. [Online]. [Cited 2010 Jan 03]; Available from: URL:
  45. SCADDS: scalableoordination architectures for deeply distributed systems. [Online]. [Cited 2010 Jan 02]; Available from: URL: