You are on page 1of 54

Chapter 1 Literature Review

Energy eciency is one of the basic tenets of wireless sensor networks (WSN) [1]. Lots of research has been made in this area to make WSNs energy ecient. This chapter, provides an overview of signicant related research performed in the eld of Energy Ecient Data Gathering [2] for wireless sensor network in Section 1.1 . It also discusses dierent in-network aggregation techniques to build an aggregation tree [3] and some existing conventional routing strategies [4] that extends the network lifetime in Sections 1.3 and 1.2.

1.1

Energy Ecient Data Gathering

In a data gathering problem [5] the main focus is to maximize the amount of data from sensors to the base station (BS) [6]. Therefore, it is important to keep network alive for longer period of time and gather maximum amount of data using lowest possible energy. Depending on the applications network lifetime dened as, until the st node or average node or the last node dies. In some cases lifetime is dened as, until all alive nodes are can communicate with the base station. Previous works [7, 8, 9, 10] in this eld are mainly focused on how to reduce the energy of sensing event during the 1

CHAPTER 1. LITERATURE REVIEW

data gathering process. However, now the basic idea behind maximizing the networks lifetime is to reduce the transmission cost [6] and distribute the routing load among all nodes. This assures the balance of energy consumption in the network. Aggregation is one of the most important techniques that is used to reduce data trac in the network and save signicant amount of energy by combining correlated data [11]. Taking this into account researchers have proposed dierent routing techniques for ecient data gathering. These existing protocols can be divided into three categories [12], which include, tree-based approach, cluster-based approach, and multi-path approach. In some cases, depending on the applications, researchers combine multiple approaches together to acquire better results. Classical routing strategies [13, 14] are mostly based on the tree-based routing. In this approach, nodes are organized in hierarchical order. Based on this, routing trees are built using dierent techniques like the Genetic Algorithm (GA) approach [15], Minimum Spanning Tree (MST) approach [2, 16, 17] Linear Programming approach [18, 19, 20] etc. These trees are responsible to forward and aggregate data towards the base station. Routing protocols like TAG [21], Directed Diusion [22], PEGASIS [8], PEDAP [2], MLDA[18], EESR [16] etc. fall in this group. In cluster-based approach, networks are divided into several virtual clusters; nodes send data towards the cluster head; and the cluster head is responsible for forwarding the data towards the BS. Protocols such as LEACHE [23], COUGAR [20, 24] are developed based on this approach. In order to solve the robustness problem of aggregation trees, researchers recently proposed a new type of approach known as the multi-path approach [25, 26, 27]. The multi-path approach is completely dierent from the cluster or the tree-based approach. Usually, both of these approaches follow some common rules; intermediate nodes can combine the data and forward it towards the root or cluster-head using a single path route. In the multi-path approach, nodes send data to multiple neighbors

CHAPTER 1. LITERATURE REVIEW

using broadcasting characteristics. The root node, cluster head and base station are responsible for merging and producing meaningful data. They are also in charge of forwarding data to the proper destination. A good example of multi-path approach is Synopsis Diusion [25].

1.2

Conventional Routing and Data Gathering Strategies

Several works have been done for maximizing the network lifetime using tree-based approaches. Researchers used dierent techniques to build aggregation trees. In [18, 19] the lifetime problem is formulated as a typical ow-type problem and solved by linear programming approach. Some researchers use Genetics Algorithm [15] to get the trees, while others propose minimum spanning tree (MST) based data gathering and aggregation schemes [16, 2]. In [28] Hen, et. al. used dominating sets to extend the network lifetime. However, it introduces huge overhead and complexity. To deal with these issues Younis and Fahmi presented a probabilistic model in [29]. In [23] Heinzelman, et. al. proposed a hierarchical clustering algorithm for sensor networks, known as Low Energy Adaptive Clustering Hierarchy (LEACH). LEACH randomly chooses the cluster heads to merge all incoming packets from sensors and assign responsibility forwarding data towards the base station (BS). It is a centralized algorithm that uses TDMA/CDMA MAC for inter or intra cluster communication. The authors divided the LEACH protocol into two dierent phases; 1) setup phase and 2) steady state phase. In the setup phase, the protocol determines the clusterheads and circulates the routing information. It switches the role of cluster-head among the nodes after every interval using the following Equation 1.1:

CHAPTER 1. LITERATURE REVIEW

T (n) =

p 1 1p(rmod p )

if

nG (1.1)

otherwise

In which for a node n, if the value of T(n) is less than a certain threshold, then it becomes the cluster-head for the current round and circulates the cluster head information to all other non-cluster nodes. After receiving the announcement from a cluster head, all other non-cluster nodes decide which cluster they belong based on the signal strength. Finally, when cluster forms, the cluster head creates a TDMA schedule for data gathering and broadcasts it within its own cluster. In contrast, in the steady-state phase all sensors are responsible to sense and forward the data towards the cluster head depending on the schedule. In each round, the cluster-head receives the data packets from all non-cluster nodes; fuses or aggregates all incoming packets into a single data packet and transmits it towards the base station. After a certain number of rounds, LEACH returns to the setup phase and repeats the whole process. LEACH greatly improves networks lifetime in comparison to minimum transmission energy routing protocols [30, 31, 32, 33] and direct transmission routing protocols [13]. It achieves up to a factor of eight improvement in terms of rst node death and three times longer lifetime in terms of last node death. However, LEACH is based on a few assumptions that makes it application dependent. For example, all nodes transmit packets with enough power so that the data may reach the base station. However, this is not possible for larger networks where nodes are deployed randomly with low source of energy. Moreover, it is applicable for only those applications where sensors always have data to report. Additionally, there are some overhead due to dynamic clustering. Finally, this protocol assumes that all nodes start with the same energy level in each round, which is not true in all cases.

CHAPTER 1. LITERATURE REVIEW

Although LEACH has some limitations, it presents an elegant way of data gathering and routing. Based on this solution, Lindsey and Raghavendra proposed an ecient and near optimal chain-based protocol known as the Power-Ecient Gathering in Sensor Information System (PEGASIS) [8]. PEGASIS achieves up to 300% improvement over LEACH with dierent network parameters and scenarios.

Figure 1.1: Sample Wireless Sensor Network

Figure 1.2: Chain-based routing scheme on a sample Wireless Sensor Network (Figure 1.1) PEGASIS creates a chain of transmission in a way in which each sensor transmits and receives data from the closest neighbor, and fuses data before transmission

CHAPTER 1. LITERATURE REVIEW

if necessary. Figure 1.2, shows how chain-based routing scheme works on a sample wireless sensor network (Figure 1.1). Along this path of transmission, eventually a designated node will take the responsibility to transmit the data towards the base station. In each cycle, each node will take its turn to send packets towards the base station. When no other node is available to take the responsibility, a new cycle will start. Building a chain is similar to the Traveling salesman problem [34]. In this paper, authors have used a greedy approach [34] to solve it. This is also a centralized algorithm, where the BS is responsible to circulate the chain information after every 100 rounds. In this way PEGASIS achieves its two main objectives. Firstly, the networks lifetime is increased through a collaborative approach and secondly, bandwidth usages are reduced thru local coordination. In a chain of a transmission, PEGASIS allows only those nodes to participate which are close enough to communicate. The algorithm begins with measuring the distance between neighbors based on the receiving signal strength. Then, it sets the transmission power of a node in a way that only the closest neighbor can listen to that node. Each node spends minimum possible energy to participate in the chain. Simulation results showed that PEGASIS achieved a good lifetime in comparison with LEACH. Because it reduced the overhead of dynamic cluster formation and also reduced the transmission energy by setting it up to minimum power level. However, PEGASIS continued to have some overhead due to the dynamic transmission power management and dynamic topology management. It used the same assumptions from LEACH protocol. Furthermore, PEGASIS introduced some delays during the transmission of packets towards the base station. To deal with the limitations of PEGASIS in [7], same authors presented an extension of PEGISIS and named it Hierarchical-PSEGASIS. Hierarchical-PSEGASIS is also sometimes known as LSR. This protocol mainly focused on to reduce the transmission delay towards the base station and proposed a new solution for data

CHAPTER 1. LITERATURE REVIEW

gathering using energy delay metric. this algorithm divided the nodes in dierent groups depending on the chain-based protocol and CDMA capabilities. That created a tree like hierarchy. In which, each node of particular level only allowed communication with the upper level nodes. This method ensures the parallel transmission which helps to decrease the transmission delay. Simulation results have shown that LSR achieves up to 60% improvement over regular PEGASIS

1.3

Energy Ecient Tree-Based In-Network Aggregation and Routing

Tan et al. have presented two centralize minimum spanning tree based protocol known as the Power Ecient Data Gathering and Aggregation in wireless sensor networks (PEDAP) and the power aware version of PEDAP known as PEDAP-PA [2]. These algorithms maximize the network life time and make it energy ecient. PEDAP delays the last nodes death, while giving a good lifetime to the rst node death. However, the power aware version gives a near optimal solution for the rst node death, but in the case of last node death, compare to PEDAP, it has not been so successful. These two protocols perform consistently with the variation of the base station positions, whereas Protocol like LEACH and PAGASIS does not have that feature. In this paper, authors used rst order radio model [35] and the exact same simulation environment of LEACH and PEGASIS to construct a realistic comparison. They proposed these two algorithms for an ideal environment where sensors are randomly distributed, location of each sensor is known in prior, and sensors periodically sense and transmit the data towards its designated parents. In order to compare the performance with other protocols, this protocol measures the rst node, last node, and average node death depending on the application.

CHAPTER 1. LITERATURE REVIEW

PEDAP uses prims minimum spanning tree [34] based algorithm to build the tree, where the base station is the root (see Figure 1.3) . Initially, this algorithm adds the base station in the tree. After that, in each iteration of this algorithm, it nds the minimum cost edge and add in the tree. This minimum cost edge is from the node that exists in the tree to the node that is not included in the tree. This process is continued until all nodes have participated in the tree.

Figure 1.3: Tree-based routing scheme on a sample Wireless Sensor Network The main idea behind this paper is to minimize the total energy per round and maximize the life time. PEDAP does not balance the energy among the network. It uses the following cost function, which provides an optimum life time to the last node death and also a good life time to the rst node death. In this cost function formula, Cij is the cost of transmission between node i and node j , Cij is the cost between node i and the base station, dib is the distance between node i and node j , and dib is the distance between node i and the base station, k is the number of bits in a packet. Eelec and Eamp are the constants from the rst order power model. Cij (k ) = 2 Eelec k + Eamp k d2 ij Cib (k ) = Eelec k + Eamp k d2 ib

(1.2) (1.3)

CHAPTER 1. LITERATURE REVIEW

The power aware version of PEDAP balances the load among nodes using the information of node remaining energy. The authors introduced the term remaining energy in the cost function to reect the current situation of the node (see Equation 1.4 and 1.5). The main purpose of this is, when the remaining energy of a node is low, it is vital to send packets to the closest possible neighbors and always try to get fewer amounts of packet. The reason behind trying to obtain fewer amounts of packets is because receiving a packet consume signicant amount of energy. The importance of this concept let them to introduce the term ei in their cost function which stands for the actual remaining energy. To normalize the term with respect to the remaining energy, it divides the Cij (total cost) by ei . The new cost function will increase the cost between node i and j if the remaining energy of node i decrease or vice versa. Although this new cost equation will not aect the sending node selection, it may postpone the inclusion of that node in the spanning tree. 2 Eelec k + Eamp k d2 ij ei Eelec k + Eamp k d2 ib ei

Cij (k ) =

(1.4) (1.5)

Cib (k ) =

Recently, Tan and his colleagues have once more proposed a minimum spanning tree (MST) based decentralized, self organizing, robust and energy ecient data gathering technique known as the Localized Power Ecient Data Aggregation Protocols (L-PEDAP) [17]. They have used LMST [36] and RNG [37] topologies to approximate minimum spanning tree, based on the local information such as position and distance of one-hop neighbors. Their simulation showed that L-PEDAP achieves almost the same performance like a centralized solution. However, they used the ooding technique to discover the routes which consume signicant amount of energy and introduce some overhead. Kalpakis proposed an algorithm for energy constrain wireless sensor networks

CHAPTER 1. LITERATURE REVIEW

10

called the Maximum Lifetime Data Gathering and Aggregation (MLDA) [18], which is an energy ecient way to systematically gather and transmit sensed data to the station for further processing. The authors considered the sensor network as an admissible ow network where each node has an energy constrain and is capable of in-network aggregation or fusion of data packets. From a ow network, MLDA nds optimal admissible ow network [19] using integer program with some linear constraints. All variables are considered as an integer in order to solve it in polynomial time. After getting the admissible ow network MLDA solves maximum lifetime data gathering problem by determining the gathering schedule. This gives a near optimal network lifetime. In this protocol, Data aggregation [11] is an important part, because it increases the lifetime of a network. In each round, nodes aggregate all incoming packets with its own data packets and route the outgoing packets according to the aggregation tree. Where, each time unit referred as a round. It always produces a k bits packet, as this protocol made a simplistic assumption of perfect data correlation. A data gathering schedule is a collection of aggregation trees with respective number of rounds per tree. Aggregation tree [3] species how data will be gathered and aggregated from each sensor to the base station. It is a directed-tree and every sensor has a direct path to the base station. Each schedule has a life time of T rounds. Liner program ensures that the generated schedule fulll the ow requirements of the network. To build that schedule authors proposed a GetT ree algorithm which generates a tree t from admissible ow network G with its frequency f . They proved that f <= T . They also proved that it is always possible to get a sequence of aggregation tree, via GetT ree algorithm that can be used for at least T number of rounds. The MLDA is not applicable to those application where data are not correlated, Because it is not ecient to fuse uncorrelated data. To address this kind of problem they proposed another algorithm called Maximum Lifetime Data Routing (MLDR)

CHAPTER 1. LITERATURE REVIEW

11

[18]. To solve this problem, the network was modeled as a ow problem with energy constraints on sensors and integer programming was used. Both MLDR and MLDA are implemented and work better than hierarchical-PEGASIS [7] in terms of system lifetime. However, the packet delay is slightly higher than hierarchical-PEGASIS. System lifetime is dened as the number of rounds until the rst node dies. Although MLDA gives near optimal life time for the network and can compute in polynomial time, it requires O(n3 ) complexity to solve the ow problem using linearprogramming approach. Therefore, to ensure the scalability the authors proposed another heuristic based clustering algorithm known as an ecient clustering-based heuristic for data gathering and aggregation in sensor networks (CMLDA) [19]. Initially, using any appropriate proximity-based clustering approach it partitions the network and create clusters. Then, each cluster considered as a super sensor node and apply MLDA on top of those super sensors. Energy of a super sensor is the total node energy within a cluster and the distance between two super nodes is the maximum distance between any pair of nodes in those clusters. After applying the MLDA on the super nodes it creates the tree for the super nodes. MLDA is also applied in each individual cluster in order to create the trees within the cluster. After that, CMLDA combines all these trees and creates the schedule for entire network. CMLDA work better in the densely populated large network. However, when nodes are far apart MLDA works faster. Hussain and Islam proposed an energy ecient spanning tree based multi-hop routing (EESR) in [16] for homogeneous wireless sensor networks [38]. The primary goal of this algorithm was to maximize the networks lifetime by balancing the residual energy of nodes. Like MLDA, EESR also generates a transmission schedule in a way in which it delays the rst node death. The schedule consists of several aggregation trees with respective frequencies. It also has some important assumptions about the networks, similar to all protocols mentioned earlier.

CHAPTER 1. LITERATURE REVIEW

12

1. All nodes are in communication range with the base station 2. All nodes periodically sense and generate data to send towards the BS 3. In most cases, data are highly correlated 4. Every node is capable of data aggregation and in each round node aggregates all incoming packets with its own data packet and generates a single k bits packet. 5. This sensor network contains energy constrain homogeneous nodes with uniform energy in the beginning 6. BS has the location information of each node. 7. There is no mobility in the node EESR algorithm can be divided into three important parts, which include, assign weights, Building Aggregation Trees, and Selecting Aggregation Tree Frequency. In each iteration of this algorithm, it starts with removing the lowest energy node from a minimum priority-queue S and run till the queue is empty. Primarily, this priority queue contains all nodes of the network and keyed by the current energy level of the nodes. EESR removes the minimum energy node from the queue and adds the node later in the tree. In consequence, these lower energy nodes have to handle fewer amount of packets that balance the load over the tree. After removing a node from the queue, weight function calculates the weights between its neighbors. The weight of an edge is equal to the lowest residual energy of two connected nodes. After weighting the edges it choose the highest weighted edge to forward the data packets towards the BS and change the parent and children information of these two connected nodes. In this way the sender participate in the aggregation tree and the algorithm updates the tree information. It repeats the entire process until all nodes have participated in the tree construction. During the time

CHAPTER 1. LITERATURE REVIEW

13

of parent selection it chooses the node with highest residual energy to distribute the load among the nodes who has more remaining energy. As a consequence, the node with higher residual energy will receive more packets than the lower energy nodes. It also checks, whether the selected edge creates a cycle in the tree or not. The process of checking cycle is identical to Kruskals algorithm [34]. In this system nodes can participate once in the tree and it is maintained by the priority-queue S. This queue allows to retrieve high energy nodes later; therefore, These nodes will be close to the root and will handle more packets than any other low energy nodes. That actually balances the loads among all nodes. The idea behind aggregation tree construction is based on the Kruskals Algorithm [34]. After building the tree it uses the residual energy of all nodes to calculate the tree frequency. As it is a centralize algorithm, base station may broadcast the entire transmission schedule or each tree information after respective number of rounds. EESR generates a smaller transmission schedule to reduce receiving energy cost. The running time of EESR is O(n2 lg2 n). Authors used J-Sim and a customized java simulator to compare the performance of EESR with other protocols. Although EESR achieved signicant amount of improvement over MLDA and PEDAPPA, it still works for those wireless sensor network where all nodes are in the proximity of base station, this condition is not applicable to most industrial or large wireless sensor networks. Furthermore for a large network it does not divide the network into clusters, which introduce some overhead in transmission schedule.

1.4

Other Popular Power Ecient Routing

In WSN nodes are deployed to monitor targets. It may happen that multiple nodes are monitoring a single target. Based on this situation, in [4] Authors proposed a new scheme which creates a disjoint sets of nodes after deployment. These disjoint sets are

CHAPTER 1. LITERATURE REVIEW

14

the combination of sensors in a way that, each single set of nodes cover all possible targets. During the time of monitoring, only one set of sensors will be active and rest of them will be in sleep mode for a single period of time. After certain interval, currently active nodes will go to sleep mode and next available set of node will be activated. Simulation results showed that this technique can save considerable amount of energy to make WSN energy ecient. Madan and Lal presented a distributed algorithm to maximize the network lifetime in [39] using sub gradient projection. They have modeled WSN as a interference free network and it contains only single stationary base station. Pandana and Liu proposed a novel technique called Keep Connected Routing Algorithm [40]. This protocol does not require any prior network knowledge and its main goal is to connect all remaining alive nodes in a single period of time. For this protocol, authors dened the lifetime of a network as until every single alive node is connected with the base station. They achieved up to 20% longer lifetime, 33% more packets delivery, and 30% less energy per packet in compared with other protocols in this eld. The authors in [41] proposed a straight forward routing algorithm that selects the route based on the largest residual energy of all paths, it sets highest residual energy path as a primary path . When it discovers a new routing path, it considers as a backup path. The primary path will be used until its residual energy falls below the energy of any backup paths. Although trac load can be balanced using this approach, the path switching cost was not counted in this paper. Park and Sivakumar [42] introduced a Minimum dominating set (MDS) based approach to achieve good network lifetime. It optimizes the number of packets to be sent from each sensor, while it is aggregating the data.

Chapter 2 Design of the Proposed Schemes


In this chapter, we propose and explain an energy ecient data gathering algorithm (EEDG) for homogenous wireless sensor network based on the in-network aggregation tree approach [3]. EEDG algorithm nds an ecient manner of data gathering that maximizes the networks lifetime. The tree generation process of EEDG is based on the Ford-Fulkerson method [43]. In this proposal, EEDG generates a tree for a xed number of predetermined rounds and broadcast the routing information in the network. After receiving that xed number of data rounds in the base station, EEDG recalculates the tree based on the current condition of the network and circulates the new tree information. In the section 2.1, we discuss the necessary background concepts for developing EEDG. Then, in section 2.2, we give necessary background concept, that is required for developing EEDG. Finally, in the section 2.3, we propose and explain the EEDG algorithm.

2.1

Assumptions for EEDG

Here are few assumptions discussed below, which is required for EEDG algorithm to work more eciently for specic kind of applications. Most of these assumptions are 15

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

16

also followed by other previous data gathering approaches [16, 18, 19, 2] in this eld. 1. Homogeneous Network: we assume that, EEDG algorithm applies to the homogeneous wireless sensor network, where all nodes are identical and they start with uniform remaining energy. 2. Data Rate: all nodes are synchronized and they maintain the same data rate throughout the network. 3. Data correlation: Data fusion or aggregation techniques are applied to reduce the data trac because the sensed data in the sensors are highly correlated. To keep it simple, it is assumed that after combining n packets of k bit, the resulting packet is also k bit in size. 4. Routing and Aggregation: Each node has the capability to aggregate or fuse the data and route it to the proper destination based on the routing information. In each data round, every node is responsible to aggregate all incoming k bit packets with its own data packet into one outgoing k bit packet and transmit it towards the base station. 5. Energy Constrains: all nodes have a limited source of energy, except the base station. In an industrial environment base station has the unlimited source of energy, enough power and memory to execute the EEDG algorithm. 6. Network Environment: The EEDG algorithm assumes that, the network size is small. If WSN contain large number of sensors, they will be divided into clusters using any proximity based clustering approach[44]. EEDG algorithm applies on each of these clusters and each cluster head act as a base station. All nodes in the network periodically sense the data and transmit it towards the base station. Nodes are static and the base station knows the location of each sensor in priori, including the current level of remaining energy.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

17

7. Data Round: when base station receives one unit of data from all alive nodes it considered as a one unit of data round.

2.2

Necessary Background

In this section, we discuss some required terms and methods for EEDG algorithm. Section 2.2.5, describes the maximum ow problem and one of its popular solutions by Ford and Fulkerson, which we use later in this chapter to build EEDG aggregation tree.

2.2.1

Networks Lifetime and Data Rounds

Depending on the applications, lifetime of a network can be dened in many ways. In this proposal, the network lifetime is dened as the time when the rst node is unable to send its data towards the base station due to the energy constrains. In a typical data gathering application, each node sends its data towards the base station. When all nodes send one unit of data towards the Base Station, it is considered as one round. Therefore, it can be said that the Networks lifetime is the number of data rounds completed before rst node dies.

2.2.2

Data Gathering Problem

Sensors are engaged to monitor the environment. During the time of monitoring, they periodically generate the data and transmit it towards the base station. In a data gathering problem, the main focus is to maximize these gathered data from sensors to the base station by using either, direct or multi hop radio transmission, under one or more limiting factors like energy and memory constrains. The primary goal of a data gathering approach is to nd a way to keep network alive for longer period of

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

18

time. Thus, they are capable of generating more data.

2.2.3

Aggregation Tree

Aggregation tree is a directed tree that spans throughout the network without creating any cycle.This tree is used to gather the data and route it towards the root. Each intermediary node of these routes, is capable of aggregation and they contain child and parent information to reroute the packets accurately.

Figure 2.1: First Order Radio Model

2.2.4

Radio Model

There are few dierent energy consumption models, for wireless sensor nodes, that calculate the communication cost between any neighboring nodes. The EEDG approach uses the rst order radio model [35], which is represented by gure 2.1. Here,

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

19

they assume the radio dissipates Eelec = 50nJ/bit is required to run the transmitter or receiver circuitry and
amp

= 100pJ/bit/m2 for the transmitting amplier, which

allows the receiver to listen packets, transmitted by the sender. Thus, to transmit a k bit message, for a distance d, the radio expends is in Equation 2.1 and to receive a k bit packet the radio expends is in Equation 2.2. Here, CT xij and CRxij is the cost of transmission and receiving respectively, from node i to j , where both nodes are d distance apart. In this power model, the authors also assume, the radio channel is symmetric such a manner that the communication cost for a k bit packet from node i to j is similar to node j to i.

CT xij (k ) = Eelec k +

amp

k d2 ij

(2.1) (2.2)

CRxij (k ) = Eelec k

2.2.5

Maximum Flow Problem

This section of the chapter briey describes the maximum ow problem and one of its solutions by Ford and Fulkerson in [43]. Later in this chapter, the concept of this method is used to build an aggregation tree for the Energy Ecient Data Gathering (EEDG) protocol. For a wireless sensor network, the maximum ow problem can be dened as, nding the highest feasible ow from a source node to the base station using dierent routes within the network. Figure 2.2, presents a sample wireless sensor network G, where s is the source and t is the sink or base station. Each arc between any node, u and v represents the communication link or the edge (u, v ). An edge (u, v ) may carry a ow f (u, v ) such that f (u, v ) <= c(u, v ), while c(u, v ) is the capacity of that edge. Moreover, the labels on the edges (Figure 2.2) reect the ow capacity in both directions. For example, the labels on the edge between node A and B reects the

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

20

Figure 2.2: Sample Wireless Sensor Network with Remaining Flow Capacity remaining ow capacity of each side. The label near the node A is the ow capacity in the direction A to B , whereas the label close to the node B indicates the ow capacity in the opposite direction B to A. The residual capacity of any edge (u, v ) is the remaining ow capacity of that edge. Thus, the residual capacity Cf can be dened by the following Equation.

Cf (u, v ) = c (u, v ) f (u, v )

(2.3)

A residual network Gf is the graph that only includes the edges with positive residual capacity from the graph G. Therefore, a residual network reects the remaining capacity of each edge from the network G. To nd the possible augmenting paths from a source to the base station, any traditional path-searching algorithm may be applied on this residual network Gf . An augmenting path p is a simple path from s to t in a residual network and Cf (p) is the maximum ow capacity of that path. This ow is always controlled by the lowest capacity edges of that path p. (See Equation

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

21

2.4).

cf (p) min{cf (u, v ) : edge(u, v ) p}

(2.4)

Figure 2.3: 2 Units of Flow along the Path s-B-C-t Following steps describe the Ford-Fulkerson method that is used to nd the maximum ow from a single source to a sink. 1. Initialize the ow and other variables in the network. 2. Find any path from the source to sink, where it has positive remaining capacity of ow. If no more paths exist, then EXIT. 3. Determine the maximum ow f for the selected path in step two; the ow is equivalent to the minimum remaining ow capacity of the edges along that path.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

22

4. For each edge, subtract the f from the remaining ow capacity in the forward direction and add the f to the remaining ow capacity in the backwards direction. 5. Go to step two. If the Ford-Fulkersons method is applied on the network G in Figure 2.2, the resulting gures are shown in Figure 2.3, 2.4, and 2.5. Firstly, it tries to nd an augmenting path from the source s to the sink t in Figure 2.2. In this case, it is s A C t. The highest possible ow of this path is 2 because the two bottleneck edges ((s, B )and(c, t)) are not allowed to carry more than 2 units of ow. The resulting graph is shown in the following Figure 2.3, after updating the residual capacity of the network G.

Figure 2.4: 1 Units of Flow along the Path s-A-C-B-D-t Next, it will return to step two and will try to search the graph for another possible augmenting path. There is another augmenting path s A C B D t (See Figure 2.4) and ow for this path is 1 unit. After updating the residual capacity, the Figure 2.4 is the outcome:

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

23

Figure 2.5: Pattern of ows yielding the maximum ow Now in Figure 2.4, there are no more possible augmenting paths from s to t. Therefore, the total ow from the source s to the sink t is 2 + 1 = 3, using previously two selected paths. Figure 2.5, shows the nal ow network with directions, which derived from the dierence between the initial (Figure 2.2) and the nal (Figure 2.4) ow capacity. A positive dierence indicates a ow in the associate direction and a negative dierence is ignored. Figure 2.6 is the formal representation of the Ford-Fulkerson method. In this gure, the algorithm takes network G, Source s, and Sink t as an input and calculates the maximum ow from s to t. The method initialize(G) initializes all the variables of the network G with their appropriate values. The while loop runs until a path p exists from s to t in the residual network Gf . In addition, every time it nds a path p, it updates all the residual ow of the edges along this path, using Cf (p). In [45], Edmonds and Karp illustrated that a small x to this algorithm makes it work in polynomial time. They proposed to use breadth-rst search (BFS) [46] to select the

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

24

augmenting path p.
procedure F ord F ulkerson(G, s, t)
1: initialize(G) 2: while there exist a path p from s to t in the residual network Gf do 3: 4: 5: 6: 7:

cf (p) min{cf (u, v ) : edge(u, v ) p} for each edge (u, v ) in p do f (u, v ) f (u, v ) + cf (p) f (v, u) f (v, u) cf (p) end for

8: end while

Figure 2.6:

Ford-Fulkersons Algorithm to Find the Maximum Flow in

the Network G, From a Source s to the Sink t.

2.2.6

Rational behind Maximum Flow Approach

In an in-network data gathering approach, the main idea is to produce a directed aggregation tree depending on the current energy condition of the nodes that balances the load of transmission in the network. There are several ways to produce the aggregation tree, which include, greedy minimum spanning tree (MST) approach [47], shortest path approach [34] etc. In the EESR [16] algorithm, the aggregation tree is build using the Greedy MST based approach, which is a very simple and time ecient. However, this approach is successful only when all nodes are in direct transmission range with the base station. This condition must satisfy to execute this algorithm, because in some cases, to avoid the cycle in the tree, the algorithm creates the forest. This forest contains several trees and each root node of these trees communicates with the base station directly. Sometime this approach introduce great problem when the base station and these root

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

25

nodes are apart by a large distance, which is quite likely for a large network. In this kind of situation the root node have to spend huge amount of energy to communicate with the base station and that drains the battery early. Thus, this approach is not appropriate for a big network, where some nodes are not in the transmission range with base station. In the shortest path approach the algorithm is always return the best possible path from a source to a destination. Nevertheless, this is not feasible for an energy ecient tree building algorithm, because it will have large impact on the energy if the same path is used over and over for routing and aggregation. In this thesis we propose to use maximum ow approach to select the paths for building aggregation tree, because it selects several possible paths from a source to a base station for maximum ow. It also satises all the energy and ow constrain, while discovering the paths. Therefore, if these paths are used to send packets according to the calculated ow, the network will not be overloaded. Our aggregation tree building algorithm can use these alternative paths to build the trees and distributes the load in the network for more robustness in terms of energy eciency.

2.3

Proposed Algorithm

In this section of the chapter, we explain the EEDG algorithm and describe the procedure to build aggregation tree with appropriate example. We also discuss, EEDG weight assignment function in section 2.3.1

2.3.1

Edge Weight Function

In a wireless sensor network, neighboring nodes are connected with each other through a communication link. A data gathering algorithm with an in-network aggregation

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

26

technique, is required to build an aggregation tree in order to gather data from sensors towards the base station. In the beginning of this aggregation tree generation process,it needs to assign weights to the edges between any neighbors. These weights help routing algorithm to select the best routing and aggregation paths. Various combinations of network parameters can be used to calculate the weight between any neighbors. Some network parameters such as transmission cost, distance between nodes or base station, signal strength, remaining energy, node degree, neighbor count etc. are most widely used. Other Popular Weight Functions As discussed in chapter 2, the LEACH [23] and the PEGASIS [8], both used the signal strength as their main criterion to determine the routing paths. In the LEACH [23], any non-cluster nodes choose the cluster head depending on the signal strength of advertising packets. These advertising packets are broadcasted by the cluster-heads. In the PEGASIS [8], nodes determine the transmission power based on the signal strength. They set the power level in a way in which only the closest neighbor can listen to that node. This implies that the closest neighbor is the next forwarding node in the transmission chain. The MLDA[18] and the CMLDA[19] both protocol used the linear programming approach to generate a near optimal admissible ow network. It also used the integer program with some linear constrains, which include, any ow from a sensor node should reach the base station; every sensor node must follow its energy constrains; transmission and receiving cost of a node must satisfy the minimum energy requirement etc. After satisfying all these energy constrains, the algorithm determines the ow capacity of each edge and creates the ow network. Later, from this admissible ow network, getTree [18] algorithm generates the tree. In the PEDAP[2], the authors used the costs instead of weights. The cost is

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

27

inversely related to the weight [16]. As we discussed in chapter 2, this paper used two dierent types of cost functions. To extend the lifetime of the last node they used the following Equations 2.5 and 2.6. These equations determine the edge cost between the two neighbors.

Cij (k ) = 2 Eelec k + Eamp k d2 ij Cib (k ) = Eelec k + Eamp k d2 ib

(2.5) (2.6)

Cij is the cost of transmission from the node i to j , and Cib is the transmission cost to send a packet to the base station from the node i. They consider both sending and receiving cost while they calculate the cost of the edges. However, for the base station they omit the receiving cost, because the base station has unlimited source of energy. 2 Eelec k + Eamp k d2 ij Cij (k ) = ei Cib (k ) = Eelec k + Eamp k d2 ib ei

(2.7) (2.8)

On the other hand, for the power aware version of the PEDAP [2], they proposed the new function in Equation 2.7 and 2.8. ei is the remaining energy of the sender i. These cost functions give the asymmetric edge cost, which distributes and balances the transmission load in the network. This helps to achieve a better lifetime for the rst node death. In EESR [16], Hussain and Islam took the lowest residual energy as a weight between two neighboring nodes. The weight between node i and j (See Figure 2.7) is determined by the following Equation.

wij (k ) = min{Ei Tij (k ) , Ej Rj (k )}

(2.9)

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

28

Figure 2.7: EESR weight assignment example For a k bits of packet, the weight is wij ; Ei and Ej is the current remaining energy of the node i and j ; Tij is the transmission cost from node i to j ; and Rj is the cost of receiving in the node j . The EESR [16] algorithm started with the weight assignment, which helped to select the parent with high remaining energy. Both Tij and Rj can be computed by the energy consumption model [35]. Figure 2.7, describes how the weight function of the EESR algorithm works. In the Figure 2.7, E denotes the current energy level of the node and R is the residual energy. The weight of the edge i to j is 1.9 because after sending a xed length packet the residual energy of i and j is 1.9 and 2.0 respectively. According to the EESR weight function denition, it always chooses the lowest residual energy. Similarly, the weight of the edge j to i is 1.8 because after the transmission of a k bits packet, the residual energy of i and j is 2.1 and 1.8 respectively and the weight function selects the lowest one. EEDG Weight Function This thesis proposes the Energy Ecient Data Gathering Algorithm (EEDG), which creates an aggregation tree to gather, aggregate and forward data towards the base station. Similar to all other previous algorithms in this eld, this EEDG algorithm also assigns the weights to the edges. EEDG uses the Equations 2.10 and 2.11 to calculate the weights. Figure 2.8 represents a sample wireless sensor network, where i is the sender and

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

29

Figure 2.8: Sample Wireless Sensor Network j is the receiver. Ski are the forwarding neighbors of i, which means any Ski may send packets to the node i. Similarly, Skj are the forwarding neighbors of node j . Rik are the receiving neighbors of node i. Receiving neighbor means node that receives packets from its neighbor. So Rik are the nodes that may receive packets from i. Likewise, Rj k are the receiving neighbors of the node j . Equations 2.10 and 2.11, are used to assign weights between any node i and j .
n k=1

wij (k ) = f (i, j ) + 0.5

f (j, Rj k ) n

(2.10)

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

30

wib (k ) = 2 f (i, b)

(2.11)

In this proposed weight function, wij (k ) returns the weight between node i and j for a k bits packet, where i is the sender and j is the receiver. The function f (i, j ) returns the remaining number of rounds in the link between i and j , which is demonstrate later in this section by the Equation 2.12. To make the weight function more realistic, we consider both remaining rounds of i to j and links that are between j and its receiving neighbors Rj k (See Figure 2.8). Because, if the weight between i to j depends only on the node i and j , it will not reect the current conditions of the links that are one hop away from sender i. These links may take important role to forward packets to the next level. For example, i and j have high remaining energy but the receiving neighbors of j does not have enough residual energy to handle any packets, which is sent towards the base station through j . Now if we consider only i and j to assign weight to the link between them, then it will achieve high weights. But this weight does not reect the actual condition of the network. The sender i will mislead by the weight of i to j . It will be optimistic if we could consider all possible links after the node j till to the base station to assign weight between i to j . However, this is not feasible, because it will add huge computational complexity. In this weight function to make it simple and realistic, we decided to consider the average remaining rounds of the links that are one hope away from the sender. In Equation 2.10, after calculating this average remaining rounds of the link between receiver j and its receiving neighbors Rj k , it is multiplied by the factor 0.5, and the resulting value is added with the remaining rounds between the link i to j , which is the nal weight of the link i to j. The rationale behind this constant factor 0.5 is because, the remaining rounds of the link i to j should have more impact on the

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

31

weight between i to j , in comparison to the links that are one-hop away. Therefore, we decide to consider only 50% of the average remaining rounds of the links that are one hop away from the sender towards the receiver. However, in the case of base station (Equation 2.11), it is not required to consider the receiving neighbors of the receiver, because the base station is the nal destination of any data. But if it does not consider the remaining rounds from one hop away, the weight of wij will be less compared to the other edges from i. The weight function need some scaling factor to address this issue. Therefore, in Equation 2.11 to emphasis the edges between node i and base station, the value of f (i, b) is increased by factor of 2. The function f (i, j ), reects the remaining number of rounds for the link between node i and j . It is dened by the Equation 2.12. It consists of three terms, which include, the remaining round in i (RRi ), the remaining round in j (RRj ), and the path availability (P Aij ).

f (i, j ) = (RRi + RRj ) P Aij

(2.12)

The term RRi is the number of remaining rounds in the node i. It can be dened as, how many more rounds of packets node i can send to node j , before it drains all the remaining battery power. In order to calculate the RRi , the remaining energy of node i is divided by the transmission cost CT x (required energy to send k bits of packet from i to j ). The cost of transmission can be calculated from the rst order power model [35]. Rei CT xij (k )

RRi =

(2.13)

Similarly, the term RRj in the Equation 2.14, represents the remaining number of rounds in node j . Since, j is the receiver, it reects the possible number of rounds node j can survive by receiving packets from its neighbors. It can be noted that, in

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

32

a same round, the node j may receive packets from more than one neighbor. The value of RRj is derived by the Equation 2.14. CRxij (k ) is the receiving cost for k bits of packets in the node j from i, while, P is the probability of receiving packets in node j from its other neighbors (except i) during the same round. For this thesis we assume that, after building the aggregation tree, maximum 50% of neighboring node (excluding i) will send packets towards node j in each round. Its not always true that 50% of the neighboring node will send packet to j but to estimate the receiving cost we come up with high possibility of getting packets. As a result, the value of P is 0.5. So, the term P
n k=1

CRxSkj j (k ) represents the possible receiving cost

in the node j for single round. These packets can be sent by any neighboring node of j excluding the node i. Rej CRxij (k ) + P
n k=1

RRj =

CRxSkj j (k )

(2.14)

The term, path availability (PA) is a Boolean variable, which reects the availability of the link between i and j . If the remaining energy of a sender or a receiver is below a certain thresh hold t (minimum energy required to send one k bits packet to the maximum distance), then P Aij will be F ALSE/0 otherwise T RU E/1. The term P Aij , controls the values of wij and allows the routing algorithm to take the best decision. The main idea behind P A is that if a node does not have enough remaining energy to handle any packets, no node should forward packet to it. If the weight reects this situation, it will be easier for any algorithm to choose the right path. P A helps to assign less weight to the edge if any of the senders or receivers remaining energy is below than threshold t. This novel approach is considered in this thesis. 0 if RE < t or Re < t i j P Aij = 1 Otherwise

(2.15)

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

33

The weight function, proposed in this section, is more realistic and novel, than any other weight functions that has been proposed before. It considers the edges that are one hop away leading it to choose the best optimistic path. It also check whether the remaining energy of the node is below certain threshold or not, which helps to assign better weights.

Figure 2.9: EEDG Weight Assignment Example

EEDG Weight Example In this section of the chapter, we demonstrate an example of how the EEDG algorithm calculates the weight between two nodes. We also explain how it assigns the asymmetric weight between node i and j .

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

34

In Figure 2.9, the term RE is the remaining energy of the nodes. T x and Rx is the transmission and the receiving cost between the node i and j . For this example, there are few assumptions that we made to calculate the values of wij and wji , which include: 1. Remaining energy of the node i and j is 2.1 unit and 1.9 unit respectively 2. The symmetric transmission cost between the node i and j for k bits of packet is 0.2 units and the receiving cost is 0.1 units 3. Before calculating the wij and wji , all other values of f (i, Rik ) and f (J, Rj k ) are already calculated (the values are given in the Figure 2.9) 4. It assumes that the threshold value of t is 0.4. Therefore, 0.4 is the maximum energy required to send a k bits packet to the longest possible distance in the network. If the remaining energy of any node (i or j ) falls under this threshold value, both wij and wji will become 0 because the P A will be F ALSE/0 After placing all these values in the Equations, the weight of the edge i to j is calculated as follows. The number of remaining rounds in node i, RRi = Rei /CT xij (k ) = 2.1/0.2 = 10.5 The number of remaining rounds in node j , RRj =
1 .9 (0.1+0.5(0.14)) Rej CRxij (k)+P (
n k=1

CRxSkj j (k))

= 6.33

If Rei and Rej are both greater than 0.4, then P Aij is T RU E/1 Therefore, f (i, j ) = (RRi + RRj ) P Aij = (10.5 + 6.33) 1 = 16.83 Finally, wij (k ) = f (i, j )+0.5 24.09
n k=1

f (j,Rj k ) n

= 16.83+0.5

10.1+18.3+15.2 3

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

35

However, if j is the base station the weight will be, wib (k ) = 2 f (i, j ) = 2 16.83 = 33.66 Similarly, f (j, i) = 20, wji (k ) = 26.27 and if i is the base station then, wjb (k ) = 40

2.3.2

Building Aggregation Tree

EEDG Aggregation Tree Generation Algorithm The main goal of this EEDG algorithm is to generate an aggregation tree for a xed number of rounds. This tree is responsible to gather and aggregate data from sensors to the base station. After certain predetermined number of rounds, EEDG periodically generates the tree and broadcasts the routing information in the network. Following steps briey describe how EEDG algorithm generates the tree. 1. Assign weights to the edges based on the weight function described in section 2.3.1. Store all the nodes in a priority queue S , which is keyed by the remaining energy of the nodes. 2. Extracts the lowest energy node from the queue S , if the queue is empty go to the step SIX 3. Discover the paths P for the maximum ow, from that extracted node to the base station, using Ford-Fulkerson method. 4. For each path p P (a) For each node x in the path p (b) If the node x is not in the tree, add x in the tree and update its parent information with the next forwarding node after x in that path.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

36

(c) Extract x from the queue S 5. Repeat step TWO 6. Return Tree This algorithm will run till all nodes are added in the tree. Whenever a node is added to the tree it is also extracted from the priority queue S , which initialize with all nodes in the beginning. The queue S is maintained in a way it always returns the lowest energy node and set it as a source. The Ford and Fulkerson method is used for discovering the paths that is engaged for the maximum ow from a source node to the base station. After discovering the paths, the algorithm adds each node x of those paths in the tree, if it is not already added. This algorithm also updates the parent information of node x with the next node in that path, after x. In this process, this node is added to the tree and extracted from the queue S . Finally, after the loop is completed, the tree information is returned. Figure 2.10, is the formal representations of the aggregation tree generation algorithm. This algorithm takes the network graph G as an input, which contains all the information regarding the network such as, edges, vertex, and neighbors list etc. After building the aggregation tree, it returns a sensor list A with all routing information. Here, the tree is maintained by the sensor list A. In the beginning, A is initialized with N U LL. In Line 1 to 10, the algorithm initializes the variables of the graph G and assigns weights to the edges. Each node contains a eld called parent that helps keep track of the parent for that node. In an aggregation tree each node will forward the data towards its parent node. Similarly, the eld child stores information about those nodes which will send packet in each round. In Line 5 and 6, these two elds (parent and child) are initialized with null. Lines 7 and 8, Assign the weights to the edges. The weight function getW eight(i, j )

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

37

procedure getAggregationT ree(G) 1: S V /* Initialize all the variables */ 2: List A 3: t getBaseStation (S ) 4: for each node i S do 5: i.parent nil 6: i.child 7: for each neighbor j i.neighbors do 8: weightij getW eight (i, j ) 9: end for 10: end for 11: while S = do 12: s getLowestEnergyN ode (S ) 13: P getM axF lowP aths (G, s, t) 14: for each k such that path p[k ] P do 15: x p[k ].sourceN ode 16: while x = BaseStation do 17: parentN ode nextN odeInT heP ath(p[k ], x) 18: if x.parent == nil then 19: x.parent parentN ode 20: parentN ode.child parentN ode.child x 21: S Sx 22: AAx 23: end if 24: x parentN ode 25: end while 26: end for 27: end while 28: returnA

Figure 2.10:

Aggregation Tree Generation Algorithm.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

38

returns the weight of the edge i to j . This weight function is based on Equation 2.10 and 2.11, described in the section 2.3.1. The algorithm also initializes the queue S with all vertexes V (set of all nodes) of the network G. The queue S is declared to use as a priority queue [48, 34], which is keyed by the current energy level of the nodes. It always returns the lowest energy node, if any element is extracted from that queue. The function getBaseStation() in Line 3, extracts the base station from the queue S and stores it in t. After the initialization, the algorithm will run until all nodes are added in the tree (list A). Whenever a node is added in the tree, it is also removed from the queue S . Therefore, the loop will run until the queue S is empty. In the beginning of the while loop, in Line 11, the getLowestEnergyN ode() function will extracts the lowest remaining energy node from the priority queue S and stores it in s. The node s will be used as a source for this entire iteration of the main while loop. Figure 2.11, presents the getM axF lowP aths(G, s, t) function which takes G, s and t as an input and returns all possible paths P from s to t, for a maximum ow f . Each path p P carries dierent ow from s to t. This function is based on the Ford and Fulkerson method [43], discussed in the section 2.2.5. To make our proposed algorithm work in polynomial time we use the modied version of Ford and Fulkerson algorithm proposed by Edmonds and Karp [45]. Where the only dierence is, it uses the breath-rst search (BFS) [46] to nd any undiscovered paths from s to t on a residual network Gf . After discovering all paths P by getM axF lowP aths function, for each path p[k ] such that p[k ] P (Line 14), the algorithm adds each node x of that path p[k ], in the list A, if it is not already added. Here A is the list which contains all the routing information. x is started with the source node of the path p[k ] and gradually traverse all nodes in that path using the function nextN odeInT heP ath(p[k ], x). This function returns the next node after x in the path p[k ], which is the parent node (parentN ode)

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

39

procedure getM axF lowP aths(G, s, t) 1: P 2: while there exists a path p from s to t in the residual network Gf do 3: cf (p) min{cf (u, v ) : edge(u, v ) p} 4: for each edge (u, v ) in p do 5: f (u, v ) f (u, v ) + cf (p) 6: f (v, u) f (v, u) cf (p) 7: end for 8: P P p 9: end while 10: returnP

Figure 2.11:

Path Generation Algorithm Based on Max-flow Algorithm.

of node x in the tree. In Line 21, x is added in the list A, after updating the required parent and child information (Line 18-20). While, x is added in the list A, it is also removed from the queue S (Line 22). When all nodes are added in the list A, the algorithm terminates and returns the list.

Figure 2.12: Sample Wireless Sensor Network With Assigned Weights

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

40

EEDG Aggregation Tree Example Figure 2.12, represents an example of wireless sensor network. If EEDG algorithm applies on this ow network, it will start with assigning the weights to the edges and initializes all other variables. The labels on the edges in the Figure reect the weights. To keep it simple in this example we assume that, the weights are symmetric between edges. The queue S initializes with all nodes in the network and the list A starts with NULL (Equation 2.16a and 2.16b)

S = {1, 2, 3, 4, 5, 6, 7, 8, 9, BS } A = N U LL

(2.16a) (2.16b)

In the beginning, the algorithm will choose the lowest energy node from the queue S , and will run till the queue is empty. For this example we assumed that, the node1 is the lowest energy node. Then it will try to nd the paths from node1 to the BS . Both of these nodes will be extracted from the queue S. Figure 2.13(a) and 2.13(b) shows two paths for the max ow 30 (20+10 = 30 units), from node1 to the BS . For the path1 (1 3 6 8 BS ) in Figure 2.13(a), the algorithm will add all nodes from the path in the list A, if they are not already added. Before nodes are added in the list A, the algorithm will change their parent information as explained in the section 2.3.2. In Equation 2.17b, each element of the list A represents as p q , where p is the sender node and q is its parent. The parent of any node x, is the next node of the path it belongs. Whenever any node is added in the list A, it is also removed from the queue S .

S = {2, 4, 5, 7, 9} A = {1 3, 3 6, 6 8, 8 BS, BS null}

(2.17a) (2.17b)

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

41

For the path2 (Figure 2.13(b)), the algorithm will start adding the node1 , but it is already in the list A. Along this path (1 4 6 8 BS ), only node4 is not added yet. Therefore, node4 is added after updating the parent information. While, node6 is the next node after node4 in this path2 , then node6 is the parent of node4 (Equation 2.18a and 2.18b).

S = {2, 5, 7, 9} A = {1 3, 3 6, 6 8, 8 BS, BS null, 4 6}

(2.18a) (2.18b)

Since, there are no other paths from node1 to the BS , the algorithm will try to nd the next lowest energy node from the queue S . For this example, we assumed that, node2 is the current lowest energy node in the queue S . The algorithm will start to nd the paths from node2 to the BS . P ath3 and path4 are the possible paths for max ow (20+10) 30 units from node2 to the BS (Figure 2.13(c) and 2.13(d)). The algorithm will try to add each node in the path3 (2 4 6 8 BS ) (See Figure 2.13(c)). As all other nodes are already added in the tree, node2 is the only candidate to be added in the list A. The parent of node2 is node4 , as it is the next node in that path. After completing the operations, the queue and the list will be as follows. S = {5, 7, 9} A = {1 3, 3 6, 6 8, 8 BS, BS null, 4 6, 2 4} (2.19a) (2.19b)

For the path4 (2 5 7 9 BS ) in Figure 2.13(d), the algorithm will add node5 , node7 , and node9 in the list with their parent information, because other nodes are already added in the list. The parent of node5 , node7 , and node9 will be node7 , node9 , and BS respectively.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

42

S = {}

(2.20a)

A = {1 3, 3 6, 6 8, 8 BS, BS null, 4 6, 2 4, 5 7, 7 9, 9 BS } (2.20b) After adding all nodes, the queue S becomes empty. The algorithm will return the list A, and based on the list A the nal tree is like Figure 2.14. Complexity Analysis This section briey describes the complexity of EEDG algorithm (Figure 2.10). The complexity of the initialization process from Line 1 to 3 is O (1). The weight assignment section of the algorithm is O(V E ), because it assign weights to each edge. Here, V is the number of nodes and E is the number of edges. The while loop in Line number 11 runs for |V 1| times in a worst case scenario. From [48], we know that the run time of getLowestEnergyN ode takes O(lgV ) using Fibonacci heaps. The complexity of the EEDG algorithm depends on the method getM axF lowP aths, which is based on the Ford and Fulkerson method. In [49], authors show that if the capacity of the edge is integer then the Ford-Fulkerson is bounded by O(Ef ). Here f is the maximum ow of the network. The run time of, adding each node of the path p ,in the tree is O(P V ) (Line 14 to 26). Therefore, after considering the complexity of all parts of the algorithm, the complexity of EEDG algorithm is O(V Ef ). EEDG Tree Frequency In a data gathering approach after building an aggregation tree, if the same tree is used over and over, some node will be aected by the trac load and will die soon. As a result, lifetime maximization will not be possible. However, the main goal of a data gathering algorithm is to maximize the networks lifetime. In other words,

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

43

allow the network to operate for a longer period of time in order to gather more data. To achieve this goal, any tree based data gathering approach, should generate a sequence of trees and each tree should execute for a certain number of rounds. This way, the routing paths will be dierent after each certain number of rounds and the transmission load will be distributed in the network. Previous algorithms such as MLDA and CMLDA [18, 19] used the same technique to maximize the network lifetime. They produced a schedule, which contains trees with respective frequencies. These frequencies are calculated from the admissible ow network depending on the ows. In PEDAP [2], the authors used a xed number of rounds for each tree such as 100, 200, etc. In EESR [16], Hussain and Islam used dynamic tree frequency for the schedule. They also showed that, if the length of schedule is too large, there will be a large number of distinct trees and the receiving cost of this large routing information will be huge. As a result, it will have great impact on the node energy, which implies to lower lifetime. EESR produces trees with high frequency for the network that have higher energy level. However, when energy level starts decreasing and the nodes are close to death, it frequently produces trees with lower number of rounds. Lower frequency per tree always has a large impact on the receiving energy and that is not good for network lifetime. Figure 2.15 shows the impact of the tree frequency on the networks lifetime and the schedule length in EESR. Figure 2.15(a) shows that if the frequency per tree increases, the schedule length decreases. In Figure 2.15(b), if frequency per tree increases, the networks lifetime is also increases up to a certain point (approximately 30 rounds per tree) and following that it becomes non liner. However, up to 100 rounds per tree, the trend is increased and the highest peak is reached around 100. From the above discussion we can conclude that, dynamic tree frequency does not work properly when energy level is low and for EESR the best performance is

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

44

achieved when the frequency per tree is around 100. Therefore, we decide to use x number of rounds per tree, without adding some extra complexity for dynamic tree frequency. The frequency of each tree in EEDG algorithm is 100.

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

45

(a) P ath1 (1 3 6 8 BS ) from node1 to the BS

(b) P ath2 (1 4 6 8 BS ) from node1 to the BS

(c) P ath3 (2 4 6 8 BS ) from node2 to the BS

(d) P ath4 (2 5 7 9 BS ) from node2 to the BS

Figure 2.13: EEDG tree construction

CHAPTER 2. DESIGN OF THE PROPOSED SCHEMES

46

Figure 2.14: Generated Tree by EEDG

4000 3500 3000 Schedule length 2500 2000 1500 1000 500 0 Network lifetime

8400
tree frequency = 96 lifetime = 8231

8200

8000

7800

tree frequency = 90 lifetime = 8010

7600

7400

7200

20

40 60 80 100 Number of rounds per tree (tree frequency)

120

140

7000

20

40 60 80 100 Number of rounds per tree (tree frequency)

120

140

(a) Tree frequency Vs schedule length

(b) Tree frequency Vs network lifetime

Figure 2.15: Inuence of tree frequency on network life time and schedule length

Bibliography
[1] J. Yick, B. Mukherjee, and D. Ghosal, Wireless sensor network survey, Computer Networks, vol. 52, no. 12, pp. 2292 2330, 2008. [Online]. Available: http://www.sciencedirect.com/science/article/B6VRG-4S8TBBT-

1/2/b242d2fd1f6d2cf5c6fce0a24c4cb029 [2] H. O. Tan and I. K orpeo glu, Power ecient data gathering and aggregation in wireless sensor networks, SIGMOD Rec., vol. 32, pp. 6671, December 2003. [Online]. Available: http://doi.acm.org/10.1145/959060.959072 [3] E. Fasolo, M. Rossi, J. Widmer, and M. Zorzi, In-network aggregation techniques for wireless sensor networks: a survey, Wireless Communications, IEEE, vol. 14, no. 2, pp. 70 87, april 2007. [4] M. Cardei and D.-Z. Du, Improving wireless sensor network lifetime through power aware organization, Wirel. Netw., vol. 11, pp. 333340, May 2005. [Online]. Available: http://dx.doi.org/10.1007/s11276-005-6615-6 [5] J. Kohonen, Abstract data gathering in sensor networks , 2004. [6] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, Wireless sensor networks: a survey, Computer Networks, vol. 38, no. 4, pp. 393 422, 2002. [Online]. Available: http://www.sciencedirect.com/science/article/B6VRG-

44W46D4-1/2/f18cba34a1b0407e24e97fa7918cdfdc 47

BIBLIOGRAPHY

48

[7] S. Lindsey, C. Raghavendra, and K. Sivalingam, Data gathering in sensor networks using the energy*delay metric, in In Proc. of IPDPS Workshop on Issues in Wireless Networks and Mobile Computing, 2001, pp. 924935. [8] PEGASIS: Power-ecient gathering in sensor information systems, vol. 3, 2002. [Online]. Available: http://dx.doi.org/10.1109/AERO.2002.1035242 [9] W. R. Heinzelman, J. Kulik, and H. Balakrishnan, Adaptive protocols for information dissemination in wireless sensor networks, in Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking, ser. MobiCom 99. New York, NY, USA: ACM, 1999, pp. 174185. [Online]. Available: http://doi.acm.org/10.1145/313451.313529 [10] C. Intanagonwiwat, R. Govindan, and D. Estrin, Directed diusion: a scalable and robust communication paradigm for sensor networks, in Proceedings of the 6th annual international conference on Mobile computing and networking, ser. MobiCom 00. New York, NY, USA: ACM, 2000, pp. 5667. [Online].

Available: http://doi.acm.org/10.1145/345910.345920 [11] R. Rajagopalan and P. Varshney, Data-aggregation techniques in sensor networks: a survey, Communications Surveys Tutorials, IEEE, vol. 8, no. 4, pp. 48 63, 2006. [12] M. Khan, G. Pandurangan, and V. A. Kumar, Distributed algorithms for constructing approximate minimum spanning trees in wireless sensor networks, IEEE Transactions on Parallel and Distributed Systems, vol. 20, pp. 124139, 2009. [13] K. Akkaya and M. Younis, A survey on routing protocols for wireless sensor networks, Ad Hoc Networks, vol. 3, no. 3, pp. 325 349,

BIBLIOGRAPHY

49

2005. [Online]. Available: http://www.sciencedirect.com/science/article/B75764B3JKH2-3/2/0baf704778ae8cf6e3651eb9f329e4c0 [14] J. Al-Karaki and A. Kamal, Routing techniques in wireless sensor networks: a survey, Wireless Communications, IEEE, vol. 11, no. 6, pp. 6 28, dec 2004. [15] S. Hussain, A. W. Matin, and O. Islam, Genetic algorithm for energy ecient clusters in wireless sensor networks, in Information Technology, 2007. ITNG 07. Fourth International Conference on, apri 2007, pp. 147 154. [16] S. Hussain and O. Islam, An energy ecient spanning tree based multi-hop routing in wireless sensor networks, in Wireless Communications and Networking Conference, 2007.WCNC 2007. IEEE, march 2007, pp. 4383 4388. [17] H. Tan, I. Korpeoglu, and I. Stojmenovi, Computing localized power-ecient data aggregation trees for sensor networks, Parallel and Distributed Systems, IEEE Transactions on, vol. PP, no. 99, pp. 1 1, april 2010. [18] K. Kalpakis, K. K. C, K. Dasgupta, K. Dasgupta, P. Namjoshi,

and P. Namjoshi, Maximum lifetime data gathering and aggregation in wireless sensor networks, Comput. Netw., 2002. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.19.3554 [19] K. Kalpakis, K. Dasgupta, and P. Namjoshi, Ecient algorithms for maximum lifetime data gathering and aggregation in wireless sensor networks, Comput. Netw., vol. 42, pp. 697716, August 2003. [Online]. Available: http://portal.acm.org/citation.cfm?id=937416.937417 [20] J. Gehrke and S. Madden, Query processing in sensor networks, Pervasive Computing, IEEE, vol. 3, no. 1, pp. 46 55, march 2004.

BIBLIOGRAPHY

50

[21] S. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong, Tag: a tiny aggregation service for ad-hoc sensor networks, SIGOPS Oper. Syst. Rev., vol. 36, pp. 131146, December 2002. [Online]. Available: http://doi.acm.org/10.1145/844128.844142 [22] C. Intanagonwiwat, R. Govindan, D. Estrin, J. Heidemann, and F. Silva, Directed diusion for wireless sensor networking, Networking, IEEE/ACM Transactions on, vol. 11, no. 1, pp. 2 16, feb 2003. [23] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, Energy-ecient communication protocol for wireless microsensor networks, in Proceedings of the 33rd Hawaii International Conference on System Sciences-Volume 8 - Volume 8, ser. HICSS 00. Washington, DC, USA: IEEE Computer Society, 2000, pp. 8020 . [Online]. Available: http://portal.acm.org/citation.cfm?id=820264.820485 [24] Y. Yao and J. Gehrke, The cougar approach to in-network query processing in sensor networks, SIGMOD Rec., vol. 31, pp. 918, September 2002. [Online]. Available: http://doi.acm.org/10.1145/601858.601861 [25] S. Nath, diusion Sen. P. B. Gibbons, for robust vol. 4, S. Seshan, in and Z. Anderson, networks, 2008. Synopsis Trans.

aggregation pp.

sensor April

ACM

Netw.,

7:17:40,

[Online].

Available:

http://doi.acm.org/10.1145/1340771.1340773 [26] A. Manjhi, S. Nath, and P. B. Gibbons, Tributaries and deltas: ecient and robust aggregation in sensor network streams, in Proceedings of the 2005 ACM SIGMOD international conference on Management of data, ser. SIGMOD 05. New York, NY, USA: ACM, 2005, pp. 287298. [Online]. Available:

http://doi.acm.org/10.1145/1066157.1066191

BIBLIOGRAPHY

51

[27] S. Chen and Z. Zhang, Localized algorithm for aggregate fairness in wireless sensor networks, in Proceedings of the 12th annual international conference on Mobile computing and networking, New York, NY, USA: ACM, 2006, ser. MobiCom 06.

pp. 274285. [Online]. Available:

http://doi.acm.org/10.1145/1161089.1161121 [28] C. Li, M. Ye, and G. Chen, An energy-ecient unequal clustering mechanism for wireless sensor networks, in Proc. of IEEE MASS05, 2005, pp. 317. [29] O. Younis and S. Fahmy, Distributed clustering in ad-hoc sensor networks: a hybrid, energy-ecient approach, in INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies, vol. 1, march 2004, p. 640. [30] I. Stojmenovic and X. Lin, Power-aware localized routing in wireless networks, IEEE Transactions on Parallel and Distributed Systems, vol. 12, pp. 11221133, 2001. [31] T. Meng and V. Rodoplu, Distributed network protocols for wireless communication, in Circuits and Systems, 1998. ISCAS 98. Proceedings of the 1998 IEEE International Symposium on, vol. 4, may-3 jun 1998, pp. 600 603 vol.4. [32] T. J. Shepard, A channel access scheme for large dense packet radio networks, SIGCOMM Comput. Commun. Rev., vol. 26, pp. 219230, August 1996. [Online]. Available: http://doi.acm.org/10.1145/248157.248176 [33] S. Singh, M. Woo, and C. S. Raghavendra, Power-aware routing in mobile ad hoc networks, in Proceedings of the 4th annual ACM/IEEE international conference on Mobile computing and networking, ser. MobiCom 98. New York, NY, USA: ACM, 1998, pp. 181190. [Online]. Available:

http://doi.acm.org/10.1145/288235.288286

BIBLIOGRAPHY

52

[34] R. L. R. Thomas H. Cormen, Charles E. Leiserson and C. Stein, Eds., Introduction to Algorithms. USA: MIT Press, 2001. [35] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, Energy-ecient communication protocol for wireless microsensor networks, in Proceedings of the 33rd Hawaii International Conference on System Sciences-Volume 8 - Volume 8, ser. HICSS 00. Washington, DC, USA: IEEE Computer Society, 2000, pp. 8020 . [Online]. Available: http://portal.acm.org/citation.cfm?id=820264.820485 [36] N. Li, J. Hou, and L. Sha, Design and analysis of an mst-based topology control algorithm, Wireless Communications, IEEE Transactions on, vol. 4, no. 3, pp. 1195 1206, may 2005. [37] G. T. Toussaint, The relative neighbourhood graph of a nite planar set, Pattern Recognition, vol. 12, no. 4, pp. 261 268, 1980. [Online]. Available: http://www.sciencedirect.com/science/article/B6V14-48MPH7B-

5T/2/88218a2a75d81cf9a03bce6f6c651333 [38] C. S. Raghavendra, K. M. Sivalingam, and T. Znati, Eds., Wireless sensor networks. Norwell, MA, USA: Kluwer Academic Publishers, 2004. [39] R. Madan and S. Lall, Distributed algorithms for maximum lifetime routing in wireless sensor networks, Wireless Communications, IEEE Transactions on, vol. 5, no. 8, pp. 2185 2193, aug 2006. [40] C. Pandana and K. Liu, Maximum connectivity and maximum lifetime energyaware routing for wireless sensor networks, in Global Telecommunications Conference, 2005. GLOBECOM 05. IEEE, vol. 2, dec 2005, p. 5 pp.

BIBLIOGRAPHY

53

[41] J.-H. Chang and L. Tassiulas, Maximum lifetime routing in wireless sensor networks, IEEE/ACM Trans. Netw., vol. 12, pp. 609619, August 2004. [Online]. Available: http://dx.doi.org/10.1109/TNET.2004.833122 [42] P. Seung-Jong and S. Raghupathy, Energy ecient correlated data aggregation for wireless sensor networks, International Journal of Distributed Sensor Networks, vol. 4, no. 1, pp. 13 27, 2008. [43] F. L. R. and F. D. R., Maximal ow through a network. in Canadian Journal of Mathematics, 1956, pp. 399 404. [44] A. A. Abbasi and M. Younis, A survey on clustering algorithms for wireless sensor networks, Comput. Commun., vol. 30, pp. 28262841, October 2007. [Online]. Available: http://dx.doi.org/10.1016/j.comcom.2007.05.024 [45] J. Edmonds and R. M. Karp, Theoretical improvements in algorithmic eciency for network ow problems, J. ACM, vol. 19, pp. 248264, April 1972. [Online]. Available: http://doi.acm.org/10.1145/321694.321699 [46] M. Kurant, A. Markopoulou, and P. Thiran, On the bias of bfs, CoRR, vol. abs/1004.1729, 2010. [47] R. G. Gallager, P. A. Humblet, and P. M. Spira, A distributed

algorithm for minimum-weight spanning trees, ACM Trans. Program. Lang. Syst., vol. 5, pp. 6677, January 1983. [Online]. Available:

http://doi.acm.org/10.1145/357195.357200 [48] P. van Emde Boas, Preserving order in a forest in less than logarithmic time, Foundations of Computer Science, Annual IEEE Symposium on, vol. 0, pp. 75 84, 1975.

BIBLIOGRAPHY

54

[49] G. T. Heineman, G. Pollice, and S. Selkow, Algorithms in a nutshell: a dektop quick reference. Sebastopol, CA: OReilly, 2008.

You might also like