Multipath Grid-Based Enabled Geographic Routing for Wireless Sensor Networks

This work proposes an efficient disjoint multipath geographic routing algorithm for dense wireless sensor networks (WSN), called Multipath Grid-based Enabled Geographic Routing (MGEGR). The proposed algorithm relies on the construction of a 2-D logical grid in the geographical region of deployment. The objective of the proposed scheme is to determine optimal or near-optimal (within a defined constant) multiple disjoint paths (multipath) from a source node to the sink, in order to enhance the reliability of the network. The determined multiple disjoint paths would be used by the source node in a round-robin way to balance the traffic across the disjoint paths, and to avoid discovered paths with cell holes. The proposed scheme limits the use of broadcasting to the process of gateway election within each cell, and the process of maintaining the table of neighbors of each gateway. Our simulation results show the effectiveness and scalability of our routing scheme with increased network size compared to on-demand routing protocols.


Introduction
Wireless Sensor Networks (WSNs) have been the focus of attention of many researchers, application developers and users in the recent years [1].WSN have the potential for many applications in wide spectrum of areas, such as military target tracking and surveillance, natural disaster management, biomedical health monitoring, hazardous environment exploration, and seismic sensing.The unstructured nature of WSNs, in which sensor nodes may be deployed in an ad hoc manner into a field, imposes many challenges to network designers who are developing routing protocols for such networks [2].In particular, the design of routing algorithms for WSNs has to solve many issues due to their special characteristics, that distinguish them from Mobile Ad-hoc NETworks (MANETs), such as the inability to have a global addressing scheme, requirements of most applications to have the sensor nodes send data to a particular sink node, redundancy in the generated data traffic by multiple sensor nodes, and the limited capabilities of sensor nodes in terms of transmission power, on-board energy, processing capacity, and storage space.
In general, a routing technique can be either a single path or multiple paths constructed between a source and the destination.A single path routing approach is usually simpler to construct and less costly.However, single path routing in WSNs is not providing the required reliability for forwarding data.Since a single path routing may select the same forwarding nodes each time a source node transmits a packet to the sink, the limited power resource of those nodes would be depleted earlier than other nodes and cause a network partition.Besides, sensor nodes are very vulnerable devices to failures due to many factors, such as unreliable wireless communication, or unpredictable harsh environment for deployment.On the other hand, multipath routing is characterized by the existence of redundant paths that can solve the problems of reliability, load balancing, as well as security in WSNs.
This work proposes an efficient disjoint multipath geographic routing algorithm for dense wireless sensor networks (WSN), called Multipath Grid-based Enabled Geographic Routing (MGEGR).The proposed algorithm relies on the construction of a 2-D logical grid in the geographical region of deployment.The objective of the proposed scheme is to determine optimal or near-optimal (within a defined constant) multiple disjoint paths (multipath) from a source node to the sink, in order to enhance the reliability of the network.The determined multiple disjoint paths would be used by the source node in a round-robin way to balance the traffic across the disjoint paths, and to avoid discovered paths with cell holes.Packet forwarding is handled in each grid cell by an elected gateway node, using unicasting communication.The determination of the multipath depends on the relative location of the destination cell with respect to the source, and the geographic direction of forwarding.The proposed scheme limits the use of broadcasting in the WSN to the process of gateway election in each grid cell, and the process of constructing and maintaining the table of neighboring gateways in adjacent grid cells by each gateway.Our simulation results show the effectiveness and scalability of our routing scheme with increased network size compared to on-demand routing protocols.
The remainder of the paper is organized as follows.Section 2 presents the related work.Section 3 presents the network model including our assumptions, the construction of the logical grid, the gateway election process, and the method of constructing multiple disjoint paths in the proposed protocol.Section 4 describes the cases of MGEGR routing paths.Section 5 presents the simulation model, the performance metrics and the performance evaluation results.Finally, Section 6 is the conclusion.

Related Work
Akkaya and Younis [2] have classified routing protocols for WSNs into three main categories, as data-centric, hierarchical or location-based.Our proposed routing scheme can be categorized as a combination of hierarchical (clustering) and location-based.The main objective of the hierarchical routing protocols is grouping the sensor nodes into clusters, in order to achieve the network scalability objective.In such configurations, each cluster would have a cluster head (called gateway in this work) through which all sensor nodes in the same cluster transmit their packets to the sink.Accordingly, all multi-hop routing paths are formed as paths connecting cluster-heads from the source cluster to the destination cluster.Eventually, clustering enables conserving the communication bandwidth, because it restricts transmission to be among cluster-head nodes, and prevents redundant broadcasting.For more details on clustering algorithms for WSNs, see the survey paper by Abbasi and Younis [3].Our proposed algorithm achieves clustering the sensor nodes based on the construction of 2-D logical grid in the geographical region of deployment, similar to the definition in [4].The main advantage of the clustering of sensor nodes based on the construction of a logical grid, in comparison to other methods, is the ability of the network to utilize location-based routing paths using 2-D grid coordinates system.Many researchers have proposed grid-based routing for MANETs or WSNs in order to conserve energy and achieve network scalability.In this section, we will give first an overview of proposed single path grid-based routing in the literature, followed by an overview of proposed multipath grid-based routing.

Grid-Based Routing
Liao et al. [5] presented an on-demand location-aware routing protocol, called GRID, which assumed the de-ployment region as a virtual 2-D grid of square cells.To reduce the overhead of reactive routing discovery, a leader election process is performed among the nodes located in each cell to select a node as a cluster-head.The protocol has high overhead cost, because it still relies on route discovery using flooding, and does not consider the existence of holes.Yu et al. [6] proposed a grid-clustering routing protocol, called GROUP that the authors claim it provides scalability and energy efficiency for packet routing in large-scale WSNs.The GROUP algorithm assumes the WSN has multiple sinks.The algorithm proceeds after nodes deployment into electing one sink as the primary sink (PS).The PS is responsible of initiating the process of constructing grid-clustering periodically by broadcasting a GS-election command in its radio range.The PS elects a Grid Seed (GS) node from its neighbours based on the one having the highest residual energy among the other neighbours.The elected GS node is assumed at one crossing point of the constructed cluster.Accordingly, the new GS node would broadcast a command to its neighbours to elect cluster heads in its four down-stream directions.Each elected cluster head stores the GS's information in its cache as its upstream head.The process of electing cluster heads will be done iteratively until all cluster heads are elected in the region, which makes the election process costly.Akl et al. [7] presented a non-uniform grid-based coordinated routing scheme in wireless sensor networks.The non-uniform grid-based routing was derived from the uniform grid-based coordinated protocol.The non-uniform grid-based routing protocol utilizes the same scheme for electing grid coordinators (cluster heads) as in the uniform one.It also follows the same scheme for conserving energy through putting all non-coordinators into sleeping mode.The source node transmits the data to the sink through the active coordinators.The authors argue that uniform grid-based is efficient when the distribution of nodes in the region is uniform.Their simulation results show that by varying the node density the non-uniform grid-based coordinated routing is more efficient than the uniform one.However, the major drawbacks of the protocol are still its reliance on the process of flooding for discovering routes, and no considerations for the existence of holes.
Shrestha et al. [8] proposed a multi-grid based routing protocol, called MGRR.The MGRR protocol employs a multi-grid routing scheme, in which it uses adaptively varying cell sizes.The protocol performs on-demand route discovery, starting with the smallest cell size.If a neighbour cannot be found using the current cell size, then the cell of the next larger grid is selected to locate a neighbouring node.The MGRR constructs local graphs for each grid size.The edges of each local graph are weighted with their proposed reliability metric.These local graphs are merged to form a global graph at each node.The route discovery process tries to discover a connected path of reliable cells in the global graph.The source node utilizes Dijkestra's algorithm on the global graph to find a path towards the cell where the destination is located.The drawback of the MGRR protocol is its high cost of computation for building a global graph by a source node in order to find a path to the destination.

Multipath Grid-Based Routing
There have been many multipath routing protocols proposed in the literature for WSNs.Sha et al. [9] paper provides a survey of proposed multipath routing protocols for WSNs.Sha et al. classify the existing multipath routing schemes for WSNs into three categories.These are the infrastructure based, non-infrastructure based, and the coding based.The rationale of their classification is based on the method of design and the techniques used to discover the multiple paths for forwarding data.Although the multipath grid-based routing approach is not mentioned in Sha et al. survey, our proposed MGEGR protocol is belonging to the hierarchy approach of the infrastructure based category; since the MGEGR protocol relies on constructing a logical 2-D grid as an infrastructure for determining the multiple paths from a source gateway to the sink.
Wu et al. [10] have proposed a multipath protocol called Energy-Aware Grid Multipath routing (EAGMR) to solve the problem of power depletion due to the limitations of nodes batteries in MANETs.The construction of the multiple paths in the EAGMR scheme is based on broadcasting route request (RREQ) messages within a rectangular area confined by the source and destination nodes.The EAGMR scheme defines a path cost metric based on the energy consumed in transmitting and receiving by each path link.The determination of the set of discovered multiple paths are done by the destination.The destination waits a threshold period of time after receiving the first RREQ packet, before it starts to make replies for all received RREQs till that moment.Accordingly, the source gateway would probabilistically select one of the discovered multiple paths.
Wu et al. [11] have proposed a grid-based routing algorithm called Grid-based Stable Backup Routing Algorithm (GSBRA).The objectives of the proposed algorithm are to improve the link stability and enhance the network reliability.The authors propose achieving the objectives by utilizing two elected grid heads in each cell.
The authors define a parameter called Grid Head Stability in order to determine an elected Primary Grid Head (PGH) in each cell.A secondary Backup Grid Head (BGH) is elected by the PGH based on a mechanism for predicting the maximum link expiration time between the PGH and its 1-hop neighbours.The PGH is responsible of delegating its role to the BGH, when it cannot act as a cluster head due to any reason.The GSBRA utilizes the same method described in EAGMR protocol for discovering multiple paths [10].However, the GSBRA scheme utilizes a parameter which predicts the path stability for selecting one path out of the discovered multiple paths.
Banimelhem and Khasawneh [12] proposed a grid-based multipath routing scheme called Grid-based Multipath with Congestion Avoidance Routing (GMCAR).The objective of the GMCAR scheme is to provide support for QoS traffic in WSNs.The GMCAR scheme differentiates between two types of grid cells: boundary and non-boundary.The scheme considers the sink location is always at one of the corners of the region.The GMCAR scheme constructs multiple diagonal paths towards the sink for the non-boundary cells, while it constructs a single path to the sink for the boundary cells through the downstream boundary cells.The protocol assigns a weight to every forwarding grid head candidate in the routing table.The weight is defined based on both the hop count and the grid cell density, and used by the GMCAR scheme to rank every grid cell.
Compared with the previous schemes, our proposed scheme considers the location of the sink to be anywhere in the region.Besides, our proposed scheme uses all determined multiple paths for load balancing, extending the lifetime of the network, and avoiding discovered holes.Our proposed MGEGR uses geographic routing protocol, which does not rely on flooding in order to discover the multiple paths from the source to the destination like all the other discussed protocols.Our scheme utilizes the geographic location of the destination to determine the number of multiple paths and their directions.However, our proposed scheme does not address the issue of congestion.The MGEGR protocol assumes that gateways have sufficient buffer space to sustain the required workload.

Assumptions
In this work, we consider that all sensor nodes are deployed over a rectangular field, which is determined by its length and width.We assume the sensor nodes are static in the geographic region of deployment.All sensor nodes have identical initial power sources, identical processing and communication capabilities, and equipped with one or more sensors of various types.Each sensor node is equipped with some localization service mechanism for determining its location and the location of other nodes.The base station (i.e., sink node) is static and has unlimited power.Sensor nodes communicate wirelessly with one another using one-to-all broadcasting.We assume the packet size is fixed, and there is no data compression or in-network data aggregations are performed; i.e., all packets have to be forwarded to the base station.Each sensor node is aware of its address, referred to as its Node Identification (NID).

Construction of the Logical Grid
The network area is constructed as a logical grid by dividing the geographic region covering the sensing field into virtual uniform rectangular cells.Each grid cell is identified by a unique pair of numbers, called Grid Identification (GID), representing the grid cell's coordinates.We assume the geographic location of the grid origin (x o , y o ) and the grid cell side, d, are determined by the base station at the initialization phase of the network.Two grid cells are called neighbouring cells, if they have a common side or a common corner.Therefore, each grid cell has eight neighbouring cells.The value of a grid cell side, d, is calculated based on the radio transmission range, R, of a sensor node.In order to allow each sensor node to communicate directly with all nodes located in the neighbouring grid cells, the grid cell side, d, must satisfy the condition 2 2 R d ≥ .Initially, each sensor node should find out its geographic location (X i , Y i ), and then uses broadcasting to send its location and Node Identification (NID) to the base station.Accordingly, the base station calculates the grid cell side, d, and broadcasts d, its geographic location (X b , Y b ), and the geographic location of the grid origin (X o , Y o ) to all sensor nodes.After receiving the broadcasted message from the base station, each sensor node calculates its grid coordinates (GID i ) and the grid coordinates of the base station (GID b ) as follows: We assume the communication overhead between the nodes and the sink would be negligible compared to the life time of the network, and therefore this factor will not be addressed in this work furthermore.In this work, we will refer to a logical grid coordinates of a cell by lower-case letters, as (x, y); while the reference to absolute coordinates of a node will be referred to by upper-case letters, as (X, Y).We assume the origin, (x o , y o ), of the grid coordinates system is located at the bottom left corner of the region.The rectangular region is defined by the origin (x o , y o ) and the Top right corner point (x T , y T ).

Gateway Election Process
In this work, the method for electing a gateway is based on selecting the sensor node having the highest remaining energy level among all other sensor nodes in the same grid cell, and if there is a tie-break, the node having highest NID is elected.When a gateway is elected, all other sensor nodes will be considered alive but Inactive.Initially, each sensor node nominates itself as a gateway by broadcasting a Local-HELLO message containing its node address (NID), grid coordinates (GID), node energy level, a flag set for gateway Election REQuest, EREQ, and a status flag bit set to indicate its status as a gateway.Only sensor nodes located in the same grid cell are considered in the election process in that cell.Each sensor node compares its energy level and its grid coordinates with the information contained in the Local-HELLO message it receives.A sensor node that finds itself having a lower energy level than any other node would withdraw from the election process, by not sending Local-HELLO messages.However, if there is a tie, the node with the highest NID declares itself as the cell gateway.The sensor node satisfying this condition declares itself as a gateway by setting the status flag bit in aLocal-HELLO message and broadcasts it to all nodes in the same cell.An elected gateway should build its table of neighbour gateways in adjacent cells.The table of neighbour gateways is constructed and maintained by HELLO messages broadcasted among the gateways in the adjacent grid cells.The election process is repeated periodically by the current gateway, unless its energy is depleted, or it becomes Dead due to failure.In case there is no re-election request is heard from the gateway after several periods, each Inactive node in the cell switches itself independently to Active mode, nominates itself as a gateway, and enters into the process for gateway election again.In normal operation, a gateway initiates a request for a gateway election periodically by re-broadcasting a Local-HELLO message with the EREQ flag set.The result of the process would be either re-electing the same current gateway, or finding another node with an energy level higher than that of the current one instead.When all the sensor nodes in a cell have their energy depleted, then no gateway can be elected in that cell to carry out the responsibilities of a router to the traffic transmitted by other nodes.We will call such a cell as forming a routing hole in the path of any traffic towards the destination.

Construction Method of the Multipath Grid-Based Enabled Geographic Routes
The construction of the set of disjoint paths from a gateway to the base station is performed in a distributed manner by each gateway node.Let the source and destination grid coordinates be (x s , y s ) and (x d , y d ), respectively.Then, let δx and δy be the difference between the source and destination in the x-coordinate and y-coordinate, respectively, and they are defined as: δx = x d − x s , and δy = y d -y s Our approach for the determination of a grid routing path from a source cell at (x s , y s ) to a destination cell at (x d , y d ) is based on the relative location of the destination cell with respect to the source, and the direction of forwarding.The relative location of the destination with respect to the source can be defined by the slope of the virtual line connecting the source to the destination.In general, the direction of forwarding can be found to be one of the possible eight geographic directions from the source cell to the destination.A decision to select a grid routing path can be determined according to the forwarding direction as defined by the conditions in Table 1.
It is obvious that the East and West forwarding directions represent the situation of a line of slope 0 connecting the source to the destination.While the case of North and South forwarding directions represent the situation of a line with a slope of infinity connecting the source to the destination.For the other forwarding directions, we consider three possibilities for determining the grid routing paths based on the absolute slope, |m|, these are Therefore, there are16 possibilities for determining the grid routing paths based on the relative location of the destination cell with respect to the source.In this work, we emphasize the construction of disjoint multiple paths from a gateway to the sink in order to distribute the load of transmitted traffic, or avoid paths with holes.However, we restrict the set of disjoint paths to be in the range 4 -5, in order to establish simple and uniform method for constructing disjoint routing paths with optimal or near-optimal path lengths.In case the source or the destination is at a boundary location, the number of disjoint paths drops down to three.The goal of the construction method is to devise a subset of disjoint paths from a source gateway to the destination that can have a maximum path length within a constant, c, from the optimal path length, l opt .In the following, we define the optimal length and characterize the subset of disjoint paths from a source gateway S that can satisfy the objective of a maximum path length of l opt + 2.
Given a source gateway located at S = (x s , y s ) and a destination gateway located at D = (x d , y d ), the optimal path length, l opt , from a source to a destination is defined as: Mathematically, we can describe a path direction from S to one of its neighbouring cells V by a vector as, where, a and b can take a value from the set {−1, 0, 1}.Accordingly, the eight directions out of a source gateway S can be specified by vectors representing all geographic directions (e.g., the direction vector to the East is SV = i, and the direction vector to North-East is SV = i + j).The direction of forwarding from S to D can be represented by a vector SD defined as where, i and j are the unit vectors along the x and y Grid coordinates system.Accordingly, the subset of neighbouring grid cells, N F , that are facing the destination and can satisfy the objective of a maximum path length of l opt + 2 to the destination is defined as: where, a and b are two constants from the set {−1, 0, 1}.We will refer to the subset N F as the subset of source neighbours facing the destination, or the subset of starting gateways.It can be shown that the size of the subset N F is either 4 or 5 neighbours depending on the direction of the vector SD.In order to achieve optimal or near-optimal path lengths, the construction of disjoint paths is constrained in this work to at most three path segments.The subset of disjoint paths, P, that can be constructed from the subset N F can have a maximum path length l max = l opt + 2. We call the subset of neighbouring grid cells of the destination at the end of disjoint paths as the ending gateways.For disjoint paths with two or three segments, there are one or two gateways at which the path ends a segment and starts another one, respectively.We call those gateways as the pivot gateways, in general.There are three types of pivot gateways.The pivot gateway at the end of a one hop from a starting gateway is called the starting pivot gateway, the one at the beginning of a one hop from an ending gateway is called the ending pivot gateway, and the one in the middle is called the intermediate or actual pivot gateway.

Cases of MGEGR Routing Paths
In this work, we assume a continuous data delivery model, where each sensor node would send data to the sink periodically.In the MGEGR scheme the disjoint paths to the destination are utilized by a source gateway in a round-robin manner, so that energy consumption due to forwarding packets would be balanced over the nodes of the WSN, and consequently would prolong the lifetime of the WSN.For brevity, we describe the methods for constructing the disjoint paths of the forwarding directions to the East, and North-East in the next sections.The construction of the disjoint paths in the other forwarding directions can be obtained from the described ones by considering the symmetry between the various quadrants and octants around the translated coordinates' axes at the source cell.Each disjoint path is identified by its starting gateway, its ending gateway, and one or more pivot gateways.In all cases, paths are identified by a Path Identifier, called PID, (e.g., P1 -P5) sequentially in a clockwise way based on the positions of their starting gateways with respect to the source cell.Also, each path segment is identified by a Path Segment Identifier, called PSID, (e.g.0, 1, and 2).

Disjoint Routing Paths towards the East
The set of the disjoint routing paths towards the East is illustrated by Figure 1.The determination of the starting, starting pivot, ending pivot, and ending gateways of the set of disjoint multiple paths are defined by Table 2, under the condition that δx > 1.In this case, there are up to 5 defined disjoint paths P1 -P5.The routing paths are characterized by at most three path segments.In the case the source and the destination are located at one of the boundaries, say y s ≤ 1, or y d ≥ y T − 1, the set of disjoint paths would be adjusted accordingly.The disjoint routing paths towards the West are obtained from this case by reversing all x+ notations by x− and vice versa in Table 2, and all directions are reversed in Figure 1.The lengths of the disjoint paths, l p , are in the range x δ ≤ l p ≤ x δ + 2.

Disjoint Routing Paths towards the North-East
The disjoint routing paths towards the North-East (South-East, North-West, or South-West) are determined based on one of the three conditions characterizing the absolute slope, m , of the virtual line connecting the source to the destination.These conditions are described in this section, in general, using the North-East direction as an example.3, under the conditions that δx = δy and δy > 1.In this case, each path proceeds towards the destination directly to one of the ending neighbours, without any pivot gateways.The lengths of the disjoint paths, l p , are in the range x δ ≤ l p ≤ x δ + 2. Under this condition, if the source or destination is located at one of the boundaries (i.e., x s = 0, y s = 0, x d = x T , or y d = y T ), then the set of disjoint paths would be adjusted accordingly.The disjoint routing paths towards the South-West are obtained from Table 3 by using reflection operations by changing the y+ to y−, x+ to x−, and vice versa, and by reversing all the directions in Figure 2. Similarly, the disjoint paths towards the North-West are obtained from Table 3 using reflection operations by changing the x+ to x− and vice versa, in both the starting and ending gateway columns.While the disjoint paths towards the South-East are obtained from Table 3 using reflection operations by changing the y+ to y− and vice versa, in both the starting and ending gateway columns.

Condition 2:
∞ 1 m < < The set of the disjoint routing paths towards the North-East for 1 m < < ∞ (i.e., x y δ δ < ) is illustrated by Figure 3.The determination of the starting, starting pivot and ending gateways of the set of disjoint multiple paths are defined by Table 4 under the condition that δx > 1.The disjoint routing paths under this condition are constructed from at most three path segments, as shown in Figure 3.Because 1 m > , the first (or second) path segment direction proceeds towards a point at which the remaining distance to the destination in the y-direction is equal to the distance to the destination in the x-direction.The point at which this equality can be achieved is referred to as the Virtual Pivot cell.The virtual pivot cell coordinates, (x p , y p ), are defined as follows: x p = x s , δx p = δy p = x d − x s , y p = y d − δy p .Based on the determination of the virtual pivot cell, we can define four actual  (intermediate) pivot gateways, one for each disjoint path.The coordinates of the actual pivot gateways are resembling the starting gateways for paths P1 -P3, and the starting pivot gateway for P4 in Table 4. Therefore, the actual pivot gateway coordinates relative to the virtual pivot are as follows: <x p −, y p +>, <x p , y p +>, <x p +, y p +>, <x p +, y p >. Accordingly, the second (or third) path segment of a disjoint routing path would start at the actual pivot gateway, and proceeds towards one of the ending gateways, based on the absolute slope of m = 1.In this case, the direction of the second routing path segment (or third in case of P4) is North-East.Under this condition, if the source x-coordinates is at x s = 0, or destination y-coordinates at y d = y T , then the set of disjoint paths would be adjusted accordingly.The same approach applies for determining the disjoint routing paths for the other directions.The lengths of the disjoint paths, l p , are in the range y δ ≤ l p ≤ y δ + 2. The disjoint routing paths towards the South-West are obtained from Table 4 by changing x+ to x−, and vice versa, and y+ to y−, and vice versa, for both starting and ending columns.In a similar way, we can apply the procedure on the starting pivot and intermediate pivot gateway columns.The disjoint routing paths for the North-West direction can be obtained from Table 4 by changing all entries with x+ to x−, and vice versa, in all the columns.Similarly, we can obtain the disjoint routing paths for the South-East from Table 4 by changing all entries with y+ to y−, and vice versa, in all columns.) is illustrated by Figure 4.The determination of the starting, initial pivot and ending gateways of the set of disjoint multiple paths are defined by Table 5, under the condition that δy > 1.The construction of the disjoint routing paths under this   condition is similar to the ones described for 1 m < < ∞ .However, the first or second path segment direction proceeds towards a virtual pivot cell at which the remaining distance to the destination in the x-direction is equal to the distance to the destination in the y-direction.The virtual pivot cell coordinates, (x p , y p ), are defined as follows: y p = y s , δx p = δy p = y d − y s , and x p = x d − δx p .Similarly, the coordinates of the actual pivot gateways are resembling the starting gateways for paths P2 -P4, and the initial pivot gateway for P1 in Table 5.Therefore, the actual pivot gateways relative to the virtual pivot are as follows:<x p +, y p ++>, <x p +, y p +>, <x p +, y p >, <x p +, y p −>. Accordingly, the second (third for P1) path segment of a disjoint routing path would start at the actual pivot gateway, and proceeds towards one of the ending gateways, based on the absolute slope of m = 1.The lengths of the disjoint paths, l p , are in the range x δ ≤ l p ≤ x δ + 2. The disjoint routing paths towards the South-West are obtained from this case by changing x+ to x−, and vice versa, and y+ to y−, and vice versa, for all the columns.The disjoint routing paths for the North-West direction can be obtained from Table 5 by changing all entries with x+ to x−, and vice versa, in all the columns.Similarly, we can obtain the disjoint routing paths for the South-East from Table 5 by changing all entries with y+ to y−, and vice versa, in all columns.

Performance Evaluation
In this section, we present our evaluation of the MGEGR algorithm by simulation.We have implemented the MGEGR protocol as a module within the QualNet simulator software.We have also implemented a version of the protocol with deterministic unipath routing, referred to as Grid-base Enabled Geographic routing (GEGR) [13].The GEGR scheme differs from MGEGR in using deterministically one of the shortest paths to the destination based on the relative location of the sink with respect to the source gateway.Simulations were conducted using QualNet to assess our proposed MGEGR protocol with respect to GEGR and two well-known MANET routing algorithms, Dynamic Mobile Ad-hoc Network On-demand (DYMO) [14] and Location-Aided Routing (LAR) [15].The DYMO protocol simplifies the operations of AODV with no added features.The LAR protocol is an on-demand routing protocol similar to DSR [16].It exploits location information of the destination by the source node.The QualNet LAR protocol is based on scheme 1 in [15], which limits the search for a route to the so-called request zone.The request zone in scheme 1 is the smallest rectangle that includes the current location of the source and the expected zone of the destination, at the time of route discovery.The MGEGR and GEGR algorithms were evaluated against the DYMO and LAR routing algorithms in series of simulation runs based on random nodes deployment.Random deployment is defined as placing the nodes randomly on the terrain.In addition, the MGEGR and GEGR algorithms were evaluated under different failing ratios.In this section, we define the performance metrics, the simulation results for MGEGR, GEGR, LAR, and DYMO assuming no failures, and the simulation results for GEGR and MGEGR based on varying a failing ratio between 0.1 and 0.3.The parameters of the simulation scenarios are summarized in Table 6.

Performance Metrics
In this work, we have focused on three performance metrics for comparisons among MGEGR, GEGR DYMO and LAR protocols.These are the packet delivery ratio (PDR), the end-to-end delay (sec.), and the average energy consumption (mJoule).The PDR is defined as the ratio of the total number of packets received by the destination (i.e.sink) to the total number of packets transmitted by all nodes.The end-to-end delay is the average duration taken by a packet starting from the time it is transmitted by the source to the time it is being received by the sink.The end-to-end delay includes the waiting times in interface queues, processing times, retransmission delays by the MAC protocol, and propagation time.The average energy consumption refers to the total energy consumed in the network during transmission and reception.The energy consumed during idle time is not counted.In this work, we will use the average energy consumption level of the network as an indicator of the cost of the routing protocol.We have counted the number of discovered holes as an indication to network partitions.In this work, the lifetime of the network is defined as the first time at which a source or intermediate gateway discovers that it does not have a path to the destination.In case of the GEGR scheme, a network partition is recorded when the first time a neighbouring grid hole or dead gateway is discovered by a source or intermediate gateway.In the case of MGEGR, a network partition is recorded when a source gateway loses all defined paths to the sink by the protocol.

Packet Delivery Ratio
Figure 5 shows the packet delivery ratio (PDR) against the number of nodes in the network for MGEGR, GEGR, LAR, and DYMO protocols.Due to the nature of GEGR protocol as a unipath routing scheme, forwarded packets encounter higher number of holes, as shown in Figure 6, since they do not have other alternative paths to select from.This situation explains the low PDR for low node densities compared to MGEGR.However, MGEGR protocol is more stable and able to maintain high PDR performance against increasing number of nodes, due to its reliance on disjoint multi-paths from the source to the sink and its ability to avoid discovered paths with holes.Although LAR achieves better PDR performance than MGEGR, GEGR and DYMO for number of nodes equal to 100, it cannot sustain high packet delivery ratios when the number of nodes becomes greater than 150 in the network, due to collisions and loss of packets.In regard to DYMO, Figure 5 shows that its performance is completely inappropriate to dense wireless sensor networks with periodic transmission of data to the sink.The continuous drop in DYMO PDR with the increasing number of nodes indicates the excessive effect of collisions on the transmitted packets, where the source nodes are forced to continuously apply the route discovery process.

End-to-End Delay
Figure 7 shows the relationship between the average end-to-end delay and the number of nodes for MGEGR, GEGR, LAR, and DYMO protocols.The end-to-end delay for the GEGR and MGEGR protocols are minimal compared to the other two protocols, due to the optimal or near-optimal grid-based routing.For the LAR protocol, the end-to-end delay is slightly higher than GEGR and MGEGR, and it shows adequate performance.However, the DYMO routing cannot function adequately in a dense wireless network with periodic transmission from nodes to the sink, since it is not able to maintain sustainable routes to the sink.

Energy Consumption
Figure 8 shows the relationship between the network energy consumption and the number of nodes in for MGEGR, GEGR, LAR, and DYMO protocols.The GEGR protocol consumes less energy than MGEGR and the other two protocols, mainly due to its optimal routing paths.Although the LAR protocol energy consumption is close to GEGR and MGEGR at number of nodes of 100 and 150, its energy consumption starts to increase at 200 nodes rapidly with the increase in the number of nodes.Definitely, LAR protocol cannot achieve the required scalability in the number of nodes for WSN, due to the increase of the number of control packets and the increase of packet retransmission, as supported by the continuous decline in its PDR values, and gradual increase of the end-to-end delay with the increase in the number of nodes.The performance of the DYMO protocol energy consumption is misleading, because it shows proper level of energy consumption, but that due to the small number of packets being transmitted and delivered to the sink.

Comparisons between GEGR and MGEGR Using Varying Failing Ratios
In this work, we have tested the PDR of GEGR and MGEGR schemes under varying failing ratios for number of nodes equal to 100, 200, and 300.We have applied uniform failing ratios of {0.0, 0.1, 0.15, 0.2, 0.25, and 0.3} at each originated packet transmission from each gateway.The first time a hole is discovered by the GEGR protocol is at 10 seconds of the simulation time, for all failing ratios and at all number of nodes considered.This situation indicates that the network is partitioned in the case of the GEGR protocol from the starting time of data forwarding.On the other hand, the first time a hole is discovered by the MGEGR protocol is at 15 seconds of the simulation time for all failing ratios at 100 nodes only.However, we can draw comparisons between the two schemes based on their PDRs vs. the failing ratios, as shown in Figure 9 and Figure 10.Obviously, MGEGR protocol shows better PDR performance than GEGR for number of nodes equal to 100 and 200, where the nodes density is relatively low, due to its ability to avoid paths with existing holes or dead gateways.In general, both schemes can have dead gateways replaced by newly elected ones, when there is more than one gateway in the same cell.Therefore, the PDR performance of GEGR becomes close or the same to MGEGR at number of nodes equal to 300.

Conclusion
WSNs have high potential to be the solution to a wide range of application areas.However, there are many challenges that need to be overcome due to the special characteristics of WSNs.In this paper, we have proposed the MGEGR scheme as a multipath grid-based protocol for solving the routing problem in dense WSNs.In conclusion, the combined results of the proposed MGEGR scheme, in terms of stable high PDR values, low end-to-end delays, as well as low energy consumption, indicate its characteristics as an efficient and low cost   geographic routing using grid-based approach.The proposed scheme achieves network size scalability based on clustering using a 2-D logical grid, and by limiting broadcasting transmissions.The MGEGR scheme guarantees optimal or near optimal path lengths, and can sustain high packet delivery ratios under relatively low node densities with varying failure ratios by avoiding discovered holes.Our simulation results show the effectiveness of the proposed scheme compared to a unipath approach of the protocol and common on-demand routing protocols in maintaining high PDR and low energy consumption at low and high nodes densities.For future work, we intend to address the problems of congestions and the existence of holes due to random deployment or sensor nodes failures.

Figure 1 .
Figure 1.Example of disjoint paths towards the east.

2 .
The set of the disjoint routing paths towards the North-East for 1 m = is illustrated by Figure The determi- nation of the starting, and ending gateways of the set of disjoint multiple paths are defined by Table

Figure 2 .Figure 3 .
Figure 2. Example of disjoint paths towards the north east with m = 1.
The set of the disjoint routing paths towards the North-East for 0 1 m < < (i.e., x y δ δ >

Figure 4 .
Figure 4. Example of disjoint paths towards the north east with 0 < m < 1.

Figure 5 .
Figure 5. Packet delivery ratio vs. number of nodes for random deployment.

Figure 6 .
Figure 6.Number of discovered holes with respect to number of nodes.

Figure 7 .
Figure 7. End-to-end delay vs. number of nodes for random deployment.

Figure 8 .
Figure 8. Energy consumption vs. number of nodes for random deployment.

Figure 9 .
Figure 9. GEGR Packet delivery ratio vs. failing ratio for random deployment.

Figure 10 .
Figure 10.MGEGR Packet delivery ratio vs. failing ratio for random deployment.

Table 1 .
Conditions for forwarding directions.

Table 2 .
Disjoint routing paths towards the east.

Table 3 .
Disjoint routing paths towards the north-east, when m = 1.

Table 4 .
Disjoint routing paths towards the north east, when m > 1.