GMCAR: Grid-based multipath with congestion avoidance routing protocol in wireless sensor networks

GMCAR: Grid-based multipath with congestion avoidance routing protocol in wireless sensor networks

Ad Hoc Networks 10 (2012) 1346–1361 Contents lists available at SciVerse ScienceDirect Ad Hoc Networks journal homepage: www.elsevier.com/locate/adh...

2MB Sizes 0 Downloads 59 Views

Ad Hoc Networks 10 (2012) 1346–1361

Contents lists available at SciVerse ScienceDirect

Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

GMCAR: Grid-based multipath with congestion avoidance routing protocol in wireless sensor networks Omar Banimelhem a,⇑, Samer Khasawneh b a b

Department of Network Engineering and Security, Jordan University of Science and Technology, Irbid 22110, Jordan Department of Computer Engineering, Hashemite University, Zarka 13115, Jordan

a r t i c l e

i n f o

Article history: Received 16 March 2010 Received in revised form 19 November 2011 Accepted 29 March 2012 Available online 19 April 2012 Keywords: Congestion avoidance Multipath routing QoS routing Wireless sensor networks

a b s t r a c t Recently, the interest in wireless sensor networks has been magnetized in the delay sensitive applications such as real-time applications. These time critical applications crave certain QoS requirements as though end-to-end delay guarantee and network bandwidth reservation. However, the severe resource constraints of the wireless sensor networks pose great challenges that hinder supporting these requirements. In this paper, we propose a Grid-based Multipath with Congestion Avoidance Routing protocol (GMCAR) as an efficient QoS routing protocol that is suited for grided sensor networks. We employ the idea of dividing the sensor network field into grids. Inside each grid, one of the sensor nodes is selected as a master node which is responsible for delivering the data generated by any node in that grid and for routing the data received from other master nodes in the neighbor grids. For each master node, multiple diagonal paths that connect the master node to the sink are stored as routing entries in the routing table of that node. The novelty of the proposed protocol lies behind the idea of incorporating the grids densities along with the hop count into the routing decisions. A congestion control mechanism is proposed in order to relieve the congested areas in case of congestion occurrence. Simulation results show that our proposed protocol has the potential to achieve up to 19.5% energy saving, 24.7% reduction in the delay and up to 8.5% enhancement in the network throughput when compared to another QoS routing protocol. However, when compared to the basic grid-based coordinated routing protocol, it achieves 23% energy saving. In addition, the proposed protocol shows its superiority in achieving better utilization to the available storage. Ó 2012 Elsevier B.V. All rights reserved.

1. Introduction The recent advances in CMOS technologies and wireless communications have enabled the development of tiny, battery operated multifunctional sensor nodes [1]. These tiny devices are characterized by their low cost, short radio range, limited supply energy and inadequate processing capabilities. They are also equipped with sensing circuitry that is capable of monitoring and detecting wide range of physical phenomena. Wireless sensor networks (WSNs) ⇑ Corresponding author. Tel.: +962 796426990. E-mail addresses: [email protected] (O. Banimelhem), samerkh@ hu.edu.jo (S. Khasawneh). 1570-8705/$ - see front matter Ó 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.adhoc.2012.03.015

are composed of a large set of sensors deployed randomly or uniformly in the field, where air is the communication medium between them. Sensor nodes are either mobile or stationary forming an infrastructureless type of ad hoc networks. The small sensors sizes, cheap chip cost along with the random unattended deployment allow the sensor networks to be very handy networks for unlimited number of applications such as object tracking, earth quakes detection, temperature monitoring, fire fighting in addition to military, business, agricultural, civil and surveillance applications [1]. Regardless the application in which the sensor network is serving, the data generated in the network eventually must be delivered to the sink. However, the limited network bandwidth, node/link failure along with the

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

unreliable communication medium pose great challenges on the sensor networks communication paradigms. Routing protocols form one of the most important communication paradigms that greatly affect the performance of the wireless sensor networks; thereby designing routing protocols for sensor networks is a vital aspect. In WSNs, data are routed in multihop progressive scheme where the sensor node forwards the collected information to another node that is closer to the destination. There are huge numbers of routing protocols and data dissemination algorithms that are designed to deliver the sensed data to the base station with minimum energy consumption [2,3]. However, the increasing interest in time critical applications such as intrusion detection, reporting imaging data in hostile area and disaster monitoring necessitates the appearance of other new and more important requirements. These requirements comprise guaranteeing certain end-to-end delay, network bandwidth and delivery ratio [4]. However, the severe constraints of the wireless sensor network pose great challenges that hinder supporting these new QoS requirements. These constraints are explained below. 1.1. Supporting multiple classes of traffic WSNs are capable of supporting unlimited number of functionalities in several environments. In a single wireless sensor network, a diverse mixture of imaging, video, tracking and monitoring sensors may coexist together. The traffic generated by these sensors does not have the same flow rate, is subjected to dissimilar quality of service requirements and follows a variety of data delivery models. Thus, it is not realistic to develop a routing protocol that is suitable to single application only. 1.2. Delay energy tradeoffs Delay aware routing protocols take advantage of the shortest path destination in order to reduce the delay by minimizing the number of hops the packets travel. However, limiting the destination to the shortest path scheme exhausts the energy of the nodes on these paths curtailing the shortest paths lifetime. Therefore, delay guarantee and energy efficiency are sometimes contradicting goals. 1.3. Reliability vs. redundancy Real-time traffic requires the network to ensure reliable delivery of the data to the destination. In wireless sensor networks, reliability is usually ensured by injecting multiple redundant copies of the same data to the network [5]. This increases the probability of delivering one of the copies to the desired destination. Nevertheless, for real-time applications where the traffic has high rates, the number of redundant packets is massive leading to negative results on the network performance.

1347

destination nodes where the load is distributed among the available paths. In addition to load balancing, multipath routing could improve the reliability of data delivery when multiple redundant copies of the data are sent along the available paths. Also, creating multiple paths minimizes the delay the packet encounters in the routing process for two reasons. First, the nodes are able to handle the traffic faster without significant buffering delays. Second, the formation of the hot regions where the nodes experience large delays is reduced. Unfortunately, the cost for maintaining multiple paths in WSNs is not disregarded. For example, in [6] each node creates and maintains a neighbor table that stores all neighbor nodes as possible forwarding candidates. Due to the lousy communication links and node failure, every node exchanges beacon packets with the neighbors periodically to update the neighbor table. For a densely deployed network, this scheme requires high storage space and results in a considerable communication overhead. 1.5. Network congestion Due to the limited network bandwidth, node/link failure and the inadequate sensor storage capabilities congestion is very likely to occur in sensor networks. Packets that are routed throughout congested areas (if not dropped) experience high delays because they are routed around the congested areas therefore travel through more hops. Consequently, congestion causes radical decrease in the delivery ratio and an increase in per-packet energy consumption. From the above discussion, it is evident that supporting QoS applications in wireless sensor network is a multi-constrained task that comprises preserving nodes energy, guaranteeing end-to-end delay, assuring certain flow of traffic and providing application-demanded reliability. In this paper we present a novel multipath QoS routing protocol. Initially, the protocol divides the sensor network logically into squared-shaped grids. Based on the traffic intensity assumed in these grids, we differentiate between boundary grids (where the traffic is low) and non-boundary grids (where the traffic is high). Boundary grids maintain single path towards the sink whereas non-boundary grids preserves multiple diagonal paths towards the sink. Every relaying node in the non-boundary grids selects the path that best fit the packet requirements. The proposed protocol uses congestion avoidance and control mechanisms to mitigate the congestion penalties. The rest of this paper is organized as follows. Section 2 provides a brief overview of the related work. Section 3 presents the proposed protocol. Section 4 illustrates the congestion avoidance and mitigation mechanisms. Section 5 discusses the simulation model as well as the comparisons with other protocols. Finally, the paper is concluded in Section 6.

1.4. Multipath routing constraints

2. Related work

Multipath routing protocols are those protocols that establish multiple paths between the source and the

Numerous numbers of QoS protocols have been proposed to address the problem of routing real-time traffic

1348

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

in sensor networks. The proposals common goal is to provide certain end-to-end performance guarantee. This requires the protocols to utilize the available paths in order to select the route that matches packet requirements. Since it is the main reason behind increasing packet delay and reducing network throughput, it is very important also to detect, avoid and handle network congestion. In [6] a dual-path QoS routing protocol that is designed to increase the network lifetime, and reduce routing delay is presented. In this protocol, every node exchanges beacon messages with the neighbor nodes in order to build a neighbor table that will be used later for routing the packets. When a node has packets to forward, the node checks the packet deadline and searches the neighbor table for the optimum forwarding candidate that has the lowest routing delay and the highest remaining energy. In order to increase the reliability, the packet is duplicated at the source and sent to different candidates. For a densely deployed network, the overhead of exchanging the beacon messages and the cost for storing/maintaining the neighbor tables are significant. Adaptive Real-time Routing Protocol (ARP) [7] investigates the tradeoff between the real-time transmission and the energy dissipation. The protocol has a specific module that handles the real-time packets only by adjusting their transmission rates. The goal behind incorporating this module into the protocol is to support multi-classes of traffic and saves nodes energy. Other modules are responsible for estimating the delay between the current node and the destination node. This estimation is handy in providing end-to-end delay guarantee. In order to choose the best forwarding candidate a fit parameter is calculated for each node in the next hop candidate set based on packet TTL. In spite of the absence of congestion control mechanism, this routing protocol has a control cost that is larger than SPEED where a congestion control mechanism is employed. MQOSR [8] is another QoS-enabled multipath routing protocol which is based on the assumption that the base stations are typically many orders of magnitude more power than common sensor nodes. MQOSR is an improved version of the Secure and Energy-Efficient Multipath protocol (SEEM) [9]. While SEEM did not avoid the collision problem that may occur when there are multiple source nodes are sending at the same time, the problem is resolved by MQOSR protocol. SEEM and MQOSR protocols consist of three phases: topology construction, data transmission, and topology maintenance. In both protocols, the base station calculates multiple paths to the source nodes and selects one path from these paths to use for the communication with the sensor nodes. Path calculation is performed based on the global network information collected in the topology construction phase. While simulation results in terms of throughput, latency, and network lifetime have shown that MQOSR outperforms SEEM protocol, the two protocol were not compared with other QoS-enabled multipath protocols. Control messages are main source of energy consumption in sensor networks; therefore minimizing the number of control messages is a major goal of our proposed protocol. SEEM, on the other hand, has too many control messages used in either the topology

construction phase or the maintenance operations such as checking the energy level of the nodes. In [10] a QoS cross-layer approach to control congestion and support QoS guarantee for different application data is presented. It supports multiple applications by classifying the incoming traffic into either real-time or non-real queue. The protocol establishes multiple routing paths towards the destination where a primary route is used only by the non-real time data and the other non primary routes are used by the real-time data. For real-time data, the route is selected based on path delay. Upon detecting congestion, the nodes distribute the traffic along different paths. We compare our proposed scheme to this one due to the common services and functionalities shared between the both. SPEED is a stateless protocol for Real Time Communication in sensor networks [11]. Nodes on SPEED maintain neighbor’s information and periodically exchange beacon packets to update these information. Upon detecting a heavily loaded links, SPEED modules cooperate to distribute the traffic and this helps in reducing and even avoiding the congestion. In the case of congestion occurrence, the sender is backpressured to reduce the transmitting rate. For applications that require certain end-to-end traffic flow (such as real-time traffic), the backpressure technique is not suitable. Although SPEED is designed as a QoS routing protocol, it has low reliability and does not take into consideration the dynamic packet deadline. COMUT is a cluster-based congestion control scheme that supports multi-classes of traffic in WSNs [12]. The mechanism is based on self organizing the network into clusters, where the cluster sentinel periodically monitors congestion within its localized scope. The protocol uses traffic intensity estimation within and across the clusters in order to determine the level of congestion. Upon detecting the congestion, the cluster nodes exchange control information to regulate sensors sending rates. To support multi-classes of traffic, the sensors adjust their sending rates based on the importance of the information being reported. This method requires the cluster head to monitor the traffic intensity information across the cluster and periodically forward it. Although GMCAR and COMUT have the ability to support multi-classes of traffic, there exist some differences between the two protocols. The proactive congestion control mechanism used in [12] increases the number of control messages exchanged between sensor nodes to maintain the network congestion level under control. However, and if the network is not suffering from congestion, this will incur useless consume of sensor node’s energy. Moreover, COMUT uses the backpressuring technique to elevate congestion. In our proposal, we avoid this solution and use traffic re-balancing and re-forwarding (discussed in Section 4) to handle congestion occurrence. Ben-Othman and Yahya have proposed EQSR as an energy efficient QoS multipath routing protocol [13]. In the proposed protocol, multiple paths are created between the source and the destination during the paths discovery phase. Each path is associated a cost that is function of residual energy, buffer occupancy and SNR for the nodes along the path. The node with the highest remaining energy, lowest buffer occupancy and best interference is chosen as the next hop. EQSR utilizes the available paths in

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

order to support node failure recovery without invoking network-wide flooding for path discovery. For that purpose, the proposed protocol splits up the transmitted message into a number of equal sized segments. Then, a Forward Error Correction (FEC) technique is used in order to generate error correction codes of the same size as the data segment. Then, the data segments and the correction codes are transmitted over multiple paths simultaneously. Moreover, EQSR employs service differentiation by transferring the real-time traffic along the paths that have the minimal end-to-end delay while the higher delay paths are used for forwarding nonreal-time traffic. EQSR estimates the end-to-end delay of each path using the elapsed time of the control message (called RREQ message) that is used to construct the path. That time is calculated since the transmission of RREQ message from the node’s neighbor till it is received by the node itself [13]. When compared with another protocol, simulation results have shown that EQSR achieves lower average delay, more energy savings, and higher delivery ratio. In fact EQSR and GMCAR protocols have common functionalities. Both are state-based protocols which means that they have to maintain some kind of routing information as tables in their memory (EQSR periodically updates these states whereas GMCAR updates them upon node failure). Also, both protocols use a cost function in building the paths although they use different factors for the cost functions. Directed diffusion [14] is a data centric protocol that is designed to make use of caching and aggregation to reduce energy consumption in routing sensor nodes information. In it’s original format, directed diffusion is not designed to route the data generated from delay-sensitive applications. Li et al. proposed a multi-path routing protocol that is based on directed diffusion to route multimedia data in sensor networks [15]. The protocol aims to deliver the multimedia traffic to the destination before missing their deadline; therefore directed diffusion is modified so that multiple disjoint paths are created between the source and the destination. Each path is assigned a cost that is a function of link quality and latency. The path that satisfies the packet delay constraints is selected as a forwarding candidate. Basically there are major differences between our proposed protocol and the two aforementioned [13,15]. Our protocol assumes the existence of several and concurrent traffic-generating sources where [13,15] creates multiple paths between single source and the sink. When WSN is deployed, hundreds (or thousands) of sensor are deployed in the field, so depending on a single (unreliable) sensor to report the events will not be the best assumption in terms of fault tolerance. Furthermore, when a heterogeneous WSN is deployed to monitor a variety of phenomena, it is likely to find two non-similar events that are being reported concurrently by two non-similar sensors. For these reasons, we believe that we accommodate more realistic assumptions in developing GMCAR. When establishing a path between the source and the sink, EQSR requires maintaining and updating two quantities: residual energy and buffer occupancy. Modifying EQSR to accommodate multiple sources results in increasing

1349

the overhead needed for updating these quantities. On the other hand, the process of establishing disjoint and low interference paths will become more complex if [15] is used to support multiple sources. It is worth to mention, that the authors of this paper (O. Banimelhem and S. Khasawneh) have previously published the idea of GMCAR [16]. However, this paper presents a vast extension and improvement to the old version of the paper in terms of many aspects. The related work section has been enlarged with discussions/comparisons with more recent works appeared in the literature. Also, this version of the paper presents a more sophisticated and detailed study of GMCAR phases and operation. The major elaboration achieved in this paper is the huge extension to the performance analysis section where additional simulation experiments have been conducted to extensively study the performance of GMCAR in terms of energy consumption, scalability, routing delay, delivery ratio and the influence of a and b on protocol behavior. 3. The proposed protocol We propose a grid-based multipath routing protocol with congestion avoidance that supports QoS traffic for WSNs. It is grid-based because initially it employs a topology arrangement presented in [17] to divide the sensor network into square-shape grids with predefined size. Each non-empty grid has a number of nodes in addition to a single master node. The protocol is multipath because it establishes multiple diagonal paths between every master node and the sink. Although, there are several approaches that have been proposed which also build multiple paths toward the sink, our proposed protocol is distinguished for two reasons. First, it is the first approach that employs the idea of dividing the sensor field into grids in order to build diagonal paths from each grid toward the sink. Second, the proposed protocol, takes into consideration the density of nodes as a decision factor in data forwarding. The protocol is classified as proactive (establish and maintain routing tables even if these routing information will not be needed soon), hierarchical (the nodes are not equal in their functionality) and multipath. 3.1. The protocol phases The functionality of the proposed protocol could be divided into three phases: Grids formation phase, building routing tables phase and data transmission phase. This section presents deeply each phase. 3.1.1. Grids formation phase The sensor nodes are deployed either uniformly or randomly. The terrain where the nodes are deployed is divided into logical squared-shaped grids of a predefined size. Global Positioning System (GPS) is used to determine to which grid every node belongs. For each non-empty grid, a node is selected to act as the grid master node. This node is responsible for routing the data generated in the grid or received from the neighbor grids. If the grid contains a single node, that node becomes the master node otherwise the

1350

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

node with the highest ID is selected as the master node. Then, every master node broadcasts its status to the other nodes in the grid. They reply by sending their IDs back to the master node. In order to ensure the connectivity, pffiffiffithe maximum grid size must satisfy the relation R ¼ 2 2G; where R is the sensor radio range and G is the grid size. This ensures that each node is capable of communicating with any node in the same grid or any node in any one of the neighbor grids. The approach described above is proposed in [17]. An example of a grid sensor network is shown in Fig. 1, the sensor field is divided into 16 grids. In the figure, master nodes are shown in filled squares. 3.1.2. Building routing tables phase After forming the grids, the sink initiates a flooding message to enable the master nodes to discover the available paths from each grid to the sink. Fig. 2 shows the format of the flooding message. The Sink Location (SL) field has one of four possible values: 0 if the sink is located at the top left corner of the topology (as in Fig. 1), 1 for top right corner, 2 for bottom left corner and 3 for bottom right corner. The Terrain dimension (T) field indicates the number of grids in terrain dimension (for example T = 4 for the terrain shown in Fig. 1, T = 7 for 7  7 grid network). The grid ID filed records the grid ID from which the flooding message is broadcasted. The Master node field determines the master node for the grid specified by grid ID field. The Boundary field has two values: 1 if the grid is boundary and 0 for non-boundary grids. The Hop count (H) field

determines the number of hops the grid is far away from the sink. The Grid density (Gd) field records the total number of nodes in the grid. Assuming that the base station is always located in one of the topology corners; we can differentiate between two types of grids: boundary and non-boundary grids. Boundary grids are those grids that lay on the vertical or horizontal line with the sink, wherein non-boundary grids lay elsewhere. Fig. 3 demonstrates this naming convention. It is evident that determining whether the grid is boundary or not depends on the Sink Location (SL) value, thus it is appended to the flooding message to enable master nodes to decide if they belong to a boundary grid or not. Table 1 shows the boundary grids IDs (vertical and horizontal boundary grids) for all possible SL values. For the network shown in Fig. 1, the sink initiates a flooding message with SL = 0 and T = 4. Thus the vertical boundary grids IDs are {1, 5, 9, 13} and the horizontal boundary grids IDs are {1, 2, 3, 4}. The flooding message dissemination is initiated at the sink. The sink sets the SL field according to its location, sets T depending on the total number of grids in the network pffiffiffiffiffiffiffiffi (T ¼ Gtot where Gtot is the total number of grids in the network) and the other flooding message fields to zero. The flooding message is broadcasted then.

Fig. 3. Boundary vs. non-boundary grids.

Table 1 Boundary grids IDs for all possible SL values. SL field value

Vertical boundary grids IDs

Horizontal boundary grids IDs

0 (top left corner)

(T  i) + 1 where i 2 {0, 1, . . . T  1} T  i + 1 where i 2 {1, 2, . . . T} (T  i) + 1 where i 2 {0, 1, . . . T  1} T  i + 1 where i 2 {1, 2, . . . T}

{1, 2, . . . T}

1 (top right corner) 2 (bottom left corner) 3 (bottom right corner) Fig. 1. An example of a grid sensor network.

Fig. 2. Format of the flooding message.

{1, 2, . . . T} T2  i where i 2 {0, 1, . . . T  1} T2  i where i 2 {0, 1, . . . T  1}

1351

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

The master node in the grid that is the closest to the sink (grid ‘1’ for the topology shown in Fig. 1) receives the flooding message with the grid information fields set to zero, therefore it infers that it has a direct contact with the sink. The node creates a routing entry to record its direct contact with the sink. After that, it updates the flooding message by: recording the grid information fields (grid ID = 1, master node = node 11, boundary = 1), incrementing the hop count field (H) to 1 and setting the grid density field (Gd) according to the number of nodes in the grid (Gd = 10). Subsequently, the flooding message is re-broadcasted. Any master node receives the flooding message will follow the same previous procedure: creates entry/entries in the routing table according to the information carried in the flooding message (based on a criteria that is described later in this section), updates the flooding message fields (neither SL nor T will be changed) and finally rebroadcasts the flooding message. When the grid ID field equals T2, the nodes receive the flooding message simply ignore it because the grid ID indicates that the flooding message reaches to all master nodes in the network. Usually, the terrain where the sensors are deployed is wider than the physical phenomenon that will be monitored therefore that traffic is assumed to be light in the boundary grids (in opposite to non-boundary grids). For this reason, in the proposed protocol we intend to achieve the traffic flow shown in Fig. 4 where non-boundary grids utilize multiple diagonal paths towards the sink, whereas the boundary grids utilize single vertical or horizontal path towards the sink. The diagonal paths have the shortest distance to the destination, thus building such paths to the sink ensures that the packets will travel minimum number of hops before getting to the sink. For master nodes in nonboundary grids, the number of the available paths that could be utilized equals to the number of diagonals the node can reach. For example, the master node of grid ‘11’ can reach all the diagonals paths so it has five available

Fig. 4. The intended direction of traffic flow.

Destination Grid

Master node

routes throughout the grids ‘6’, ‘7’, ‘8’, ‘10’ and ‘14’ however the master node of grid ‘16’ has three only throughout grids ‘11’, ‘12’ and ‘15’. In order to avoid the routing loops and ensure forwarding any packet to a downstream grid only, every master node in non-boundary grid considers one grid per diagonal as possible forwarding candidate. For instance, the master node of grid ‘11’ does not consider grids ‘12’ and ‘15’ as possible destinations since they are not downstream grids (they are not closer to the sink than grid ‘11’). In order to achieve the traffic flow shown in Fig. 4 the master nodes follow the procedure described below in creating their routing entries. When the master node of grid N receives the flooding message, that node will create an entry in the routing table in one of the following two cases:  The flooding message boundary field equals 1 and the grid ID filed represents a downstream grid (closer to the sink than N).  The boundary field equals 0 and grid ID field belongs to the downstream neighbor set {N  T  1, N  T, N  T + 1, N  1, N + T  1}. Boundary grids have single path headed for the sink through the neighbor downstream boundary grid. This guarantees that when a packet reaches a boundary grid it is routed to the sink through boundary grids only because the traffic is assumed to be light in these grids. Non boundary grids on the other hand maintain several paths to the sink and choose the one that satisfies the packet requirements. The routing table entry looks like the one shown in Fig. 5. The master node uses grid ID, master node, H and Gd fields in the flooding message to store the destination grid, master node, hop count and density of the routing entry; respectively. According to H and Gd, a weight is calculated and stored in link weight field of the routing table entry (link weight calculation is discussed later). The valid bit takes one of two values: 0 which indicates that the route is invalid and 1 which indicates that the route is valid. During building routing tables phase, the valid bit is set to 1 for all routing tables entries. However, once congestion occurs the routes to the congested areas are avoided by setting the valid bit to zero. 3.1.3. Data transmission phase After establishing the routing tables, nodes can start transmitting their data to the sink. In any grid, every non-master node transmits its data packets to the master node. The master node in turns selects the suitable next master node to forward the data to. Since they are not involved in the inter-grids communication, non-master nodes can switch to sleep mode if they do not have more data to transmit. This situation is continued until the

Hop count

Density

Fig. 5. The format of the routing table entry.

Link weight

Valid bit

1352

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

master node’s energy is about to drain. In this case, the master node starts an election process to select a new master node. The selection is based on the residual energy, the node with the highest residual energy will be chosen. 3.2. Link weight The proposed protocol aims to achieve two goals: boosting the reliability by improving packets delivery ratio and extending the network lifetime. Improving the delivery ratio requires reducing the routing delay by minimizing the number of hops the packets travel. Shortest path routing guarantees routing with minimum number of hops thereby minimum routing delay. However, the shortest path routing has a weak energy performance [18]. The packet is always forwarded to the node that is the closest to the destination. This will drain the energy of the nodes on the shortest path therefore the shortest path will not be available soon. Thus, improving delivery ratio and extending network lifetime could be two contradicting objectives. In order to extend the network lifetime while providing delay guarantee, our protocol assigns a weight for every forwarding candidate (routing table entry). The weight is a function of both the Hop count (H) and the Grid density (Gd). The link weight (‘) is calculated as:

‘ ¼ a  Gd  b  H

ð1Þ

a¼1b

ð2Þ

where a and b 2 [0, 1] and their values are controlled by the network administrator. Every grid is ranked based on the number of nodes in the grid. The higher the grid density, the higher the rank assigned to that grid. The rationale behind assigning a positive weight to the grid density and a negative weight to the hop count comes from the fact that we aim to save nodes energy while minimizing the delay the packet experiences. The route that has the highest grid density and the smallest hop count is for sure the preferred one. Utilizing the dense areas while preserving the lightly deployed ones will increase the network partition. Besides, the values of a and b add more flexibility to our routing scheme. These values allow the network designer to decide how the network performs depending of the application(s) the network support. For a network that is composed of imaging sensors where the traffic requires minimum routing delay, it is possible to set a to zero and the routing becomes the shortest path routing scheme. However if the network generates non-real time traffic (monitor temperature changes) the network administrator intends to maximize the network lifetime therefore he can set b to zero in order to extend the grids lifetime and maintain their connectivity. Other situations are likely to happen between the two extreme cases aforementioned when the network contains a mixture of real-time and non-real time traffic. In this case

Fig. 6. Data packet header format.

1 while (node queue ! empty()) do 2 pick the head of the queue; routing table entries 3 E foreach (route in E) 4 if (route valid bit =1 && route hop count < packet TTL) 5 route 6 forwarding candidates set end foreach 7 forwarding candidates set 8 C if(C is empty) 9 10 drop the packet else 11 if (packet priority = 1) 12 13 select route Ci that has the smallest hop count else 14 15 select route Ci that has the highest link weight 16 end else 17 end while Fig. 7. Routing pseudo code.

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

neither a nor b is set to zero, rather their values are determined based on the delay-energy tradeoff making the routing adaptive to the nature of the network. 3.3. The routing process

1353

the current master node triggers an election process to select another master node. The node with the highest energy level will be elected as the new master node for that grid. The process of electing new master node is shown in Fig. 8.

Fig. 6 shows the format of the data packet header. Priority filed is added to the header of the packet to offer service differentiation. It indicates whether the packet is for realtime or non-real time application. Real-time applications have the priority bit set. In order to accommodate their delay requirements, real-time packets are forwarded along the shortest path route. Non-real time packets on the other hand have soft deadline (delay requirements) so they are routed along the highest weight link path. This ensures delivering the non-real traffic before missing their deadline and with the optimal energy consumption. The routing algorithm is depicted in Fig. 7.

4. Congestion avoidance and control mechanisms

3.4. Master node election

4.1. Congestion avoidance

As we mentioned earlier, every grid must have at least one master node that stores the routing information and responsible for intra-traffic routing. In the grid formation phase, all nodes have the same energy level, therefore any node can be the master node (we choose the one with the highest ID but it will not make any difference if we apply another criteria in choosing it). The node that is chosen in the grid formation phase will operate as the grid master node until it’s energy reach a certain threshold. In this case

Congestion avoidance is the process of detecting incipient congestion and preventing its occurrence [21]. Buffer occupancy is frequently used to detect incipient congestion [20–22]. Multipath routing has inherently an avoidance scheme since the traffic is distributed among the available paths and hence the congestion is avoided. However, we will not rely on this embedded avoidance alone. This is because a single node per grid may not be able to handle the network load.

Network congestion occurs when the offered traffic load exceeds the available capacity at any point in the network [19]. Despite the fact that single path routing increases the probability of congestion occurrences, the congestion is very likely to happen even for multipath routing schemes. Because a congestion control mechanism that is dedicated to multipath routing scheme is rarely found in the literature [20], we develop new congestion avoidance and control techniques that are suited for our proposed multipath routing protocol.

1 RM remaining node energy 2 gi the grid ID in which the master node lies 3 if (RM <= RM threshold ) 4 broadcast election-triggered message 5 foreach (node in the grid g i ) 6 if (election-triggered message is received()) 7 replay by sending energy level 8 end if 9 end foreach 10 EL received energy levels 11 if (EL is empty) 12 broadcast grid invalidate message to the neighbors to invalidate gi 13 foreach (master node in the neighbor grid) 14 if (grid invalidate message is received()) 15 invalidate routes to g i end if 16 end foreach 17 else 18 19 select the node with the highest EL i 20 share routing information with the elected node 21 broadcast route update message to the neighbor master nodes 22 foreach (master node in the neighbor grid) 23 if (route update message is received()) 24 update routing tables with the new master node 25 update routing tables with the new density value 26 27 end foreach 28 end else 29 end if Fig. 8. The pseudo code of electing new master node.

1354

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

The master nodes monitor their buffers occupancy levels as they are gradually filling up. In order to prevent congestion occurrence, once the buffer occupancy exceeds a predefined threshold (Oth) incipient congestion is detected and the avoidance mechanism is started. The avoidance scheme is based on diverting the incoming traffic to the other available paths. The congested node sets up a timer and broadcasts ‘‘route invalidate’’ message to the neighboring nodes. Each master node in the neighbor grids receives the route invalidate message, searches the routing table for an entry with grid ID that matches the one received in the invalidate message. If found the valid bit for that entry is set to zero. When a master node searches the routing table for forwarding candidates it will not consider the entries with zero valid bit. However in-grid nodes will not stop forwarding their data to the master (as shown in Fig. 9). The grid that is the closet to the sink cannot initiate the avoidance mechanism because doing so will prevent delivering any packet to the sink during that invalidate period. When the timer time out expires, the master node

Fig. 9. The traffic after invalidating grid ‘6’.

1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18

broadcasts a ‘‘route validate’’ message to validate the route previously invalidated. Any master node receives the route validate message updates the routing table by setting the valid bit back to one. 4.2. Congestion mitigation The avoidance mechanism is designed to handle sudden and increase in the amount of traffic. Although this traffic is assumed to be transient and will stop when the event being monitored disappears, it is not always the case. The traffic may continue flowing in high rates if the sensors are monitoring a variety of physical phenomenon. Also even if the congested node initiates a route invalidate message, the in-grid nodes will not stop forwarding their data to the congested master node since they do not store any routing information. For these reasons, congestion is still likely to occur in spite of including an avoidance mechanism. The majority of the mitigation schemes found on the literature relay on backpressuring the sender to send less number of packets [10,11,20,21]. Despite being an efficient way to handle long term congestion, we will not employ the backpressuring method because it treats all data equally while we assume the existence of real-time traffic that requires the assurance of certain end-end flow. Also the backpressuring method does not utilize the uncongested parts of the network [23]. The proposed mitigation mechanism is based on splitting the incoming traffic. This is done by electing a secondary master node so that each congested grid will have a primary master node and a secondary master node. In order to select a secondary master node, the master node broadcasts a ‘‘new route’’ message to the nodes inside the grid. The nodes respond by sending their residual energy levels. The master node selects the node with the highest remaining energy as the secondary master node. Both, the master and the secondary master nodes lie in the same grid, therefore they must have the same routing information therefore the master node passes its routing information to the secondary master node.

Broadcast "new route" message to in-grid nodes Wait until all in-grid nodes respond to the "new route" message N set of all in-grid nodes if (N !=0 && N!=1) Select n i from N that has the highest residual energy Send node n i the routing information Node n i broadcasts route advertisement to the neighbor grids end if foreach (master node in the neighbor grids) if (route advertisement received ()) Search local routing table if (a route with the same grid ID found) Create new routing entry in the routing table else Ignore the advertisement end if end foreach Fig. 10. Congestion control pseudo code.

1355

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

The secondary master node broadcasts ‘‘route advertisement’’ message to the neighbor grids to inform them about this new route. Upon receiving this message, the neighbor master nodes search their routing tables for an entry with the same grid ID. If found, a new routing entry with the secondary node ID is created (grid ID, density, hop count, link weight and validity information are similar to the entry found). The routing protocol uses load balancing between the routes with the same link weight, so that load is distributed between the master node and the secondary master evenly since they have the same link weight. Fig. 10 shows the congestion control algorithm including the secondary master node selection. 5. Performance analysis

Network partition time is the time that elapses until the network losses its connectivity and the sink is no longer reachable [17]. The complete set of the parameters that were used in our simulation is given in Table 2. Also, we assume a heterogonous WSN with different classes of traffic. Each packet is tagged with a TTL value. Small TTL values indicate time-critical information (harddeadline application) and therefore the data must be delivered within the minimum possible delay (for example applications like fire fighting, intrusion detection and object tracking are considered hard-deadline applications). Large TTL values indicate either soft-deadline or time uncritical information where time is not a crucial factor in delivering the sensed data to the sink (temperature monitoring is an example for such applications).

5.1. Simulation model We have developed a network simulator that is dedicated to evaluate the performance of the proposed protocol. The simulation environment models a sensor network with 100 nodes deployed randomly over an area of 350  350 m2. To increase simulator flexibility, we assume that the number of active nodes (that monitor and report readings) is a user-defined parameter and could be set as a percentage to a value in the range 1–100% (single active node – all nodes are active). At the beginning of the simulation, we assume that all nodes start with an initial energy of 1 J. We use the same radio model that is assumed in [24] and shown in the following equations: 2

ETx ¼ Eelec  K þ eamp  K  d

ð3Þ

ERx ¼ Eelec  K

ð4Þ

where Eelec and eamp are constants, ETx is the cost of transmitting k-bit message for a distance d and ERx is the cost of receiving k-bit message. We assume that the energy cost for idle listing is negligible. Moreover, we assume that the sensor nodes as well as the sink are equipped with GPS devices, thus they are able to identify their locations. In the experiments we conduct, the simulation continues until the network is partitioned.

5.2. Simulation results 5.2.1. Evaluating the energy efficiency of the proposed protocol We compare the performance of our protocol with the protocols proposed in [10,17]. Since we employ the grid formation that was proposed in [17], we believe that it is important to compare the performance of our protocol with that protocol. Due to the common functionalities, we choose the protocol proposed in [10] as the second candidate to compare the performance with. We will refer to the protocol proposed in [17] as GBR and the one proposed in [10] as QOS. Fig. 11 shows the average residual energy during different points of simulation time. The figure illustrates that the proposed protocol is superior in saving nodes energy. The energy saving in the proposed protocol results from: First, master nodes only participate in paths establishment phase (only they broadcast/receive grid based routing information). Second, non-master nodes send any available data to the grid master node, which handles the routing. Although this drains master nodes energy it saves grid nodes energy. Third, upon detecting topology changes (such as when a grid becomes empty or when an area became congested) few control messages are exchanged between the involved master nodes without flooding the network with update messages. It’s worth to mention that

Simulation parameter Topology size Number of sensors Number of active nodes (sources) Deployment type Number of grids Grid size Radio range Initial sensors energy Energy to run transceiver circuitry (Eelec) Transmit amplifier (eamp) Sensor buffer size Data packet size Traffic type MAC layer protocol Simulation time

Value 2

350  350 m 100 Variable Random 49 50  50 m2 142 m 1J 50 nJ/bit 100 pJ/bit/m2 65 data packets 128 bytes Variable bit rate CSMA/CA Till network partition

Average residual energy (J)

Table 2 Parameters used in the simulation. 1.2 1 0.8 0.6 0.4 GMCAR

0.2

GBR QOS

0

0

60

120

180

240

300

Simulation time (second) Fig. 11. The proposed protocol energy performance.

360

1356

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

these topology update messages are exchanged on demand not periodically. Forth, the way in which the paths are established (diagonal for non-boundary and vertical/horizontal for boundary) aims to utilize the grids energy evenly. Finally, paths going through densely deployed areas are preferential, this help maintaining network connectivity thereby extending network lifetime. The energy saving in GBR comes from the cluster based routing scheme where a single node per grid is involved in the routing process. However GBR is based on flooding which exhausts the network nodes and injects the network with a huge amount of redundant packets leading to congestion occurrence. GBR has no congestion control mechanism therefore a noticeable degradation in the network performance is encountered. 5.2.1.1. Normalized Remaining Energy (NRE) for network grids. The traffic generated in the network must flow through the grids that are close to the sink, so regardless of the routing protocol used, the grids close to the sink will run out of energy faster than the far ones. However, one of our protocol goals is to extend the network lifetime by maintaining the connectivity between the network grids. This require ensuring that the grid’s energy is drained evenly so that the grid with a low density nodes is used less frequent than the one with high density in the relaying process. As mentioned before, boundary grids have one route towards the sink, however non-boundary grids have multiple routes. Thus to avoid creating holes in the network, the non-boundary grids try to avoid (if possible) the grids with low density during forwarding. Fig. 12 shows the Normalized Remaining Energy (NRE) for all network grids. NRE for grid i is calculated as:

Pn NREGi ¼

i¼1 Ei n  Es

ð5Þ

where n is the number of nodes inside grid Gi, Ei is the energy level of node i, Es is the initial energy level. Fig. 12a shows grids NRE before starting the simulation hence all grids have 100% of NRE. Fig. 12b–d shows grid’s NRE after 100, 200, 300 s of simulation time respectively. From these figures three important notes are observed. First, the corner grids (except the one that is close to sink) maintain the highest remaining energy during simulation time. In fact this makes perfect sense because these grids is rarely used in the forwarding (for example as long as the network is connected, grid (x = 1, y = 7) will never be used in the routing). Second, the closer the boundary grid to the sink, the higher remaining energy it has forming a stair-lie shape. This is because each boundary grid acts as a router to the previous boundary grids on the same line. Finally, inner grids (the ones that are surrounded by the boundary grids) are utilized evenly so at any time they have a close energy level. This will guarantee that no grid runs out of energy while the grids around have high energy level thereby avoid forming holes (empty grids) inside the network. 5.2.1.2. Energy performance for different grid sizes. In order to study the performance of the grid-based protocols for

different grid sizes, we run GMCAR and GBR protocols on the same network but with different grid sizes (G = 10, 50 and 100). According to Eq. (3), the energy consumed during transmission increases as the transmission distance increases. Therefore, as the grid size increases the master node consumes more energy to transmit the packets to the master nodes in the neighboring grids. This will results in shortening network lifetime, which illustrated in Fig. 13. Moreover, for the same grid size GMCAR outperforms GBR in conserving nodes energy as shown in Fig. 13. 5.2.1.3. The energy performance of GMCAR protocol for different number of grids. The performance of the proposed protocol for the different grids networks is demonstrated in Fig. 14. The figure shows that increasing the number of grids results in decreasing the nodes residual energy. For example, at second 360 of the simulation, the networks have an average residual energy equals 28%, 21.5% and 9.5% for the 5  5, 7  7 and 16  16 grids network, respectively. This is because increasing the number of the grids results in an increase in the energy consumed during building the routing tables phase (exchanging the flooding message), an increase in the number of master nodes thereby in the per packet transmissions and an increase in the overhead of maintaining the grids. Moreover, the smaller the grids sizes the higher the chance to form holes (empty grids) and the lower the grids lifetime, therefore, the weaker the connectivity between the grids. However, it is important to mention that increasing the grids sizes (reducing the number of grids) increases the transmission power and requires the sensor nodes to have high radio range. Thus the optimal grid size is determined by the available sensors radio range. 5.2.2. The influence of a and b values on network performance In this section, we study the performance of the proposed protocol for different a and b values in order to determine how the network administrator must select the appropriate values. Based on the adjustment factors (a and b) values, we can differentiate between three routing schemes:  Hop count based routing. In this scheme, a is set to zero and b is set to one (‘ ¼ H). Thus the data packets are forwarded to the candidate that is the closest to the sink (has the lowest H thus the highest ‘).  Density based routing. In this scheme a is set to one and b is set to zero (‘ ¼ Gd ). The forwarding candidate is selected to be the one with the highest Gd value (i.e. that lies in the highest density grid).  Hybrid routing. In this scheme, neither a nor b is zero (‘ ¼ a  Gd  b  H). From the set of candidates that satisfying packet TTL value, the forwarding candidate is selected to be the one that has the highest ‘ value. Fig. 15 shows the first grid death time with respect to the number of active nodes in the network. Density based routing extend the first grid death time since it prefers forwarding the traffic to the dense areas. Hop count based routing on the other hand does not take grids densities in routing decisions; therefore the grids on the shortest paths

1357

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

Residual energy (J)

1 0.8 0.6 GMCAR (10m) GBR (10m) GMCAR (50m) GBR (50m) GMCAR (100m) GBR (100m)

0.4 0.2 0

0

30

60

90

120

150

180

210

Simulation Time (second) Fig. 13. The energy performance for different grid sizes.

Average residual energy (%)

Fig. 12. The normalized remaining energy for network grids: (a) grids NRE at startup (b) grids NRE after 100 s (c) grids NRE after 200 s (d) grids NRE after 300 s (sink is located at corner (x = 7, y = 1)).

120 7X7 16 X 16

100

5X5

80 60 40 20 0

0

60

120

180

240

300

360

Simulation time (second) Fig. 14. The energy performance of GMCAR for different number of grids.

die faster than the other schemes. The hybrid routing scheme has the ability to lengthen grids lifetime more than the shortest path scheme, since the grids densities are involved in the routing decisions. Figs. 16 and 17 show the energy performance of our protocol for all possible values of a and b. For the hybrid

schemes, the energy performance remains almost the same for the different values of a and b. However, it achieves better energy saving than the density based and the hop count based schemes. The results from these figures are

1358

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361 250

α=0β=1 α=0.5 β=0.5 α=1β=0

150

100

50

20

40

60

80

100

Number of active nodes Fig. 15. The first grid death time.

Average residual energy (J)

1 0.9 0.8 0.7 0.6 α=0β=1

0.5

α=0.1 β=0.9

0.4

α=0.2 β=0.8

0.3

α=0.3 β=0.7 α=0.4 β=0.6

0.2

0

1

α=0.5 β=0.5

0.1

α=1β=0

60

120

180

240

300

Simulation time (second) Fig. 16. GMCAR energy performance for different values of a and b (1).

Average residual energy (J)

1 0.9 0.8

Average residual energy (J)

0

0.8

0.6

0.4

0.2

0.6

α=1β=0

10%

30%

α=0.5 β=0.5

0.4

70%

100%

Fig. 18. GMCAR energy performance for different number of active nodes.

α=0.6 β=0.4

0.3

50%

Number of active nodes

α=0β=1

0.5

α=0.7 β=0.3 α=0.8 β=0.2

0.2

α=0.9 β=0.1

0.1 0

α=0β=1 α=0.5β=0.5

0

0.7

90

α=1β=0

60

120

180

240

80

300

Simulation time (second) Fig. 17. GMCAR energy performance for different values of a and b (2).

explained as follows. The density based routing has the worst residual energy because the deployment does not guarantee that the dense grids are on the shortest paths so routing based on density will increase the number of packet transmissions. On the other hand, routing based on hop count leads to a minimum number of packet transmissions since the packets are forwarded to the master nodes that are closer to the destination. Therefore, during the first 120 s of the simulation, the performance of the

Delivery Ratio (%)

Time (second)

200

hop count based scheme is very close to the performance of the hybrid scheme. However, as network load increases, the energy of the nodes over the shortest paths is drained leading to longer paths and network partition. Hybrid scheme achieves the best energy performance since it dedicates the shortest paths solely to the urgent packets that require fast delivery and use the alternative longer paths for the ordinary packets in a way that guarantees density fair forwarding. The same conclusion is confirmed in Fig. 18 which shows the relation between the average residual energy vs. the number of active nodes. Fig. 19 shows the influence of a and b values on the delivery ratio. The delivery ratio is calculated as the number of packets successfully reached the sink to the total number of packets that have been generated. At the simulation time 60, the figure shows that the hybrid scheme and the hop count based scheme have the same delivery ratio. This is because these schemes have the ability to forward the packets to the path that satisfies packet deadline requirement. However, as simulation time increases the hybrid scheme outperforms the hop count scheme because shortest path routing exhausts the energy of the nodes along these paths. Consequently, the packets are forwarded to longer paths that do not satisfy their deadlines.

70 60 50 40 30 20 10 0

α=0β=1 α=0.5β=0.5 α=1β=0

60

120

180

240

300

Simulation Time (second) Fig. 19. GMCAR delivery ratio for different values of a and b.

1359

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

5.2.3. Evaluating the delivery ratio of the proposed protocol Increasing the number of packet copies increases the delivery ratio [6]. This result is observed in Fig. 20 when GBR (which is flooding based) achieves the highest delivery ratio. However, as load increases, flooding demeans the network performance. The proposed protocol achieves the highest delivery ratio for several reasons. It selects the route that best matches the packets delay requirements. It avoids congestion occurrence by invalidating the routes that are directed to the congested areas when the buffer occupancy level increase beyond a certain threshold. It splits the traffic between the master and the secondary master node upon of congestion occurrence. In this simulation, we prohibit the congestion mitigation that is based on backpressuring the sender (because real-time traffic craves certain flow of traffic). Consequently the congestion mitigation of the QOS protocol is limited to distributing the traffic among the available routes. 5.2.4. Evaluating the average end-to-end delay The delay sensitive application packets are stamped with certain time deadline, so that the packets are dropped after the specified time passes. Therefore, it is essential for the QoS routing protocols to reduce the routing delay in

order to achieve high network throughput. The average end-to-end packet delay is the average time a packet takes to travel from the node generated it to the sink [25]. Fig. 21 shows the average end-to-end packets delay for GBR, QOS and the proposed protocol. The three protocols have comparable performance when the traffic is very low. GBR has significant delay when the network traffic increases because it is a flooding based protocol that does not aim to improve routing delays and because it does not employ any congestion avoidance/control mechanism. Compared to the QOS routing protocol, GMCAR is superior in reducing packet delay. QOS in opposite to GMCAR dedicates a primary path to the non-urgent traffic however, GMCAR forwards the packets based on their TTL values. Urgent packets are forwarded through the shortest paths whereas non-urgent packets are forwarded to the neighbor with the highest link weight. Another reason behind the delay reduction in GMCAR is building diagonal (represent the fastest possible paths) downstream paths. GBR is a flooding based protocol. Flooding based protocols are known by their high traffic intensity. This will cause congestion in the network and will lead to packet loss and retransmissions. This is the main reason that increases the energy consumption and raises the endto-end delay for GBR (that is what causes GBR to disappear before second 360 in Fig. 20).

Average end-end packet delay (ms)

Hybrid scheme aims to extend the lifetime of the grids and on the same time forward the packets to the path that satisfies packet delay requirement, therefore achieves better delivery ratio during simulation time. Density based routing has the lowest delivery ratio, because routing in this scheme intend to extend grids lifetime without paying any attention to the number of hops the packets travel, thereby the packets TTL expires before the packets successfully delivered to the sink. Based on the results presented before, we can conclude that the hybrid scheme has the best performance in terms of energy consumption and network throughput. Also, it is fond that the hybrid scheme has very close performance for different values of a and b. We will use the hybrid scheme with a = 0.5 and b = 0.5 in comparing the proposed protocol performance with the other protocols.

600 GBR

500

QOS GMCAR

400 300 200 100 0

1

1.5

2

Fig. 21. The average end-to-end delay.

90

GMCAR

80

qos GBR

Delivery ratio (%)

70 60 50 40 30 20 10 0

60

120

180

2.5

Packet generating rate (Packet/s)

240

Simulation time (second) Fig. 20. Delivery ratio comparison.

300

360

3

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361

Energy consumed (%)

5.2.6. The average buffer occupancy High queue occupancy is actually desirable for sensor networks because it indicates higher resource utilization and fairness. When the routing protocol offers multiple paths to the destination, fairness becomes an important issue. In the proposed protocol, a certain level of fairness is attained by (1) Calculating the link weight in a way that aims to extend the lifetime of the low density grids (2) Splitting the incoming traffic by invalidating the route(s) to the congested grids. This results in a greater use of the nodes buffers as shown in Fig. 23. We define the average buffer occupancy as the average number of occupied buffer spaces in non idle sensor nodes. Therefore when measuring the average buffer occupancy of the proposed protocol we consider the buffers of the master nodes, secondary master nodes and active nodes only. Also if multiple copies of the same packet exist on different nodes it is counted once. From the figure it is evident that fairness is weak in QOS protocol because the primary route is always preserved to forward the non-real time traffic and the real time traffic is forwarded using the other available routes. GBR has the lowest buffer occupancy since no congestion control scheme is used in this protocol.

60.0 50.0 40.0 30.0 20.0 GMCAR

10.0

GBR QOS

80

76

68

72

64

60

56

52

44

48

40

36

32

28

0.0 20 24

5.2.5. GMCAR scalability Scalability means that the routing protocol performs well as the network grows larger in terms of size or load [26]. Due to the large number of nodes in wireless sensor networks, the scalability of the routing protocols is a critical issue. A routing protocol is scalable with respect to a given parameter if the network efficiency does not vanish (tends to infinity) if the scalability parameter becomes arbitrary large [26]. In GMCAR, master nodes are the only nodes that are involved in the inter-grids communications (routing), thus increasing the number of sensor nodes will increase the network load but the number of communicating nodes will remain the same. Fig. 22 shows the energy performance of the proposed protocol as the number of sensor nodes increases (the number of active nodes = 10% of the total number of nodes). The results shown in the figure are obtained for sensor networks with different number of nodes by measuring the percentage of the energy consumed at a certain point of simulation time. From the figure, we can conclude that the proposed protocol is scalable in terms of network size.

Average Buffer Occupancy

1360

Number of Active Nodes Fig. 23. The average buffer occupancy vs. the number of active nodes.

6. Conclusion Although numerous numbers of QoS routing protocols in WSNs have been proposed in the literature, yet few of them have considered energy efficiency, delay guarantee, multi-classes of traffic support and congestion handling together in the framework of the routing protocol design. For this reason, we presented the grid-based multipath with congestion avoidance routing protocol as an efficient QoS routing protocol. For the master nodes in non-boundary grids, the protocol establishes multiple diagonal paths connecting them to the sink. On the other hand, it establishes single horizontal/vertical path for the master in boundary grids. The novelty of the proposed protocol lies behind the idea of incorporating grids densities into routing decisions. In this way, the protocol has the ability to utilize the densely deployed grids while preserving the lightly deployed grids thereby prolonging the overall network lifetime. However, routing based on grids densities alone cannot satisfy the delay requirements; therefore we had used the hop count as a second factor in the routing decision. When compared to another QOS routing protocol, the proposed protocol shows its superiority in extending network lifetime, improving the network throughput, minimizing the packets delay and achieving better utilization for the available storage. Moreover, simulation results have shown that the proposed protocol is scalable in terms of network size.

References

50 GMCAR

40 30 20 10 0

100

150

200

250

300

350

Number of nodes Fig. 22. GMCAR energy performance for different number of nodes.

[1] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, Wireless Sensor Networks: A Survey, Computer Networks Journal 38 (4) (2002) 393–442. [2] J.N. Al-Karaki, A.E. Kamal, Routing techniques in wireless sensor networks: a survey, IEEE Wireless Communication 11 (6) (2004) 6– 28. [3] M. Younis, K. Akkaya, M. Eltoweissy, A. Wadaa, On handling QoS traffic in wireless sensor networks, in: Proceedings of the 37th Annual Hawaii International Conference on System Sciences, 2004 January 5–8, Big Island, USA. [4] K. Akkaya, M. Younis, Energy and QoS aware routing for wireless sensor networks, Cluster Computing 8 (2–3) (2005) 179–188. [5] X. Huang, Y. Fang, Multiconstrained QoS multipath routing in wireless sensor networks, Journal of Wireless Networks 14 (4) (2008) 465–478.

O. Banimelhem, S. Khasawneh / Ad Hoc Networks 10 (2012) 1346–1361 [6] A. Mahapatra, K. Anand, D.P. Agrawal, QoS and energy aware routing for real-time traffic in wireless sensor networks, Computer Communications Journal 29 (4) (2005) 437–445. [7] H. Peng, Z. Xi, C.X. Ying, G. Chuanshan, An adaptive real-time routing scheme for wireless sensor networks, The 21st International Conference on Advanced Information Networking and Applications Workshop, 2007 May 21–23, Ontario, Canada. [8] Y. Chen, N. Nasser, T. El Salti, H. Zhang, A multipath QoS routing protocol in wireless sensor networks, International Journal of Sensor Networks 7 (4) (2010). [9] N. Nasser, Y. Chen, SEEM: secure and energy-efficient multipath routing protocol for wireless sensor networks, Computer Communications 30 (11–12) (2007) 2401–2412. [10] Md.O. Rahman, M.M. Monowar, C.S. Hong, A QoS adaptive congestion control in wireless sensor network, in: International Conference on Advanced Communication Technology, 2008 February 17–20, Gangwon-Do, Republic of Korea. [11] T. Hea, J.A. Stankovica, C. Lub, T. Abdelzaher, SPEED: a stateless protocol for real-time communication in sensor networks, in: International Conference on Distributed Computing Systems, 2003 May 19–22, Rhode Island, USA. [12] K. Karenos, V. Kalogeraki, S.V. Krishnamurthy, Cluster-based congestion control for supporting multiple classes of traffic in sensor networks, in: The 2nd IEEE Workshop on Embedded Networked Sensors, 2005 May 30–31, Sydney, Australia. [13] J. Ben-Othman, B. Yahya, Energy efficient and QoS based routing protocol for wireless sensor networks, Journal of Parallel and Distributed Computing 70 (8) (2010). [14] C. Intanagonwiwat, R. Govindan, D. Estrin, Directed diffusion: a scalable and robust communication paradigm for sensor networks, in: Proc. of the Sixth Annual International Conference on Mobile Computing and Networking (MobiCOM ‘00), Boston, Massachussetts, August 2000. [15] Shuang Li, R. Kishore, C. Liu, A. Lim, Efficient multi-path protocol for wireless sensor networks, International Journal of Wireless and Mobile Networks 2 (1) (2010). [16] O. Banimelhem, S. Khasawneh, Grid-based multi-path with congestion avoidance routing (GMCAR) protocol for wireless sensor networks, in: International Conference on Telecommunications, 2009 May 25–27, Marrakech, Morocco. [17] R. Akl, U. Sawant, Grid-based coordinated routing in wireless sensor networks, in: Consumer Communications and Networking Conference, 2007 January 11–13, Las Vegas, USA. [18] R. Vidhyapriya, P.T. Vanathi, Energy efficient adaptive multipath routing for wireless sensor networks, International Journal of Computer Science 34 (1) (2007) 56–64. [19] B. Hull, K. Jamieson, H. Balakrishnan, Mitigating congestion in wireless sensor networks, in: Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems, 2004 November 3–5, Maryland, USA. [20] Md.A. Razzaque, C.S. Hong, Congestion detection and control algorithms for multipath data forwarding in sensor networks, in: International Conference on Advanced Communication Technology, 2009 February 15–18, Gangwon-Do, Korea.

1361

[21] M.Z. Ahmad, D. Turgut, Congestion avoidance and fairness in wireless sensor networks, in: Global Telecommunication Conference, 2008 November 30–December 4, New Orleans, USA. [22] L. Popa, C. Raiciu, I. Stoica, D. Rosenblum, Reducing congestion effects in wireless networks by multipath routing, in: Proceedings of the 14th International Conference on Network Protocols, 2006 November 12–15, California, USA. [23] R. Kumar, R. Crepaldi, H. Rowaihy, A. Harris III, G. Cao, M. Zorzi, T. La Porta, Mitigating performance degradation in congested sensor networks, IEEE Mobile Computing 7 (6) (2008) 682–697. [24] W.R. Heinzelman, A. Chandrakasan, H. Balakrishnan, Energyefficient communication protocol for wireless sensor networks, IEEE System Sciences 2 (2000) 10. [25] M.K. Kumar, R.S. Rajesh, Energy-aware QoS routing protocol for ad hoc wireless sensor networks: a survey, International Journal of Soft Computing 4 (1) (2009) 49–55. [26] L.K. Alazzawi, A. Elkateeb, A. Ramesh, W. Aljuhar, Scalability analysis for wireless sensor networks routing protocols, in: The 22nd International Conference on Advanced Information Networking and Applications, 2008 March 25–28, Okinawa, Japan.

Omar Banimelhem received his B.Sc. and M.Sc. in Electrical Engineering from Jordan University of Science and Technology (JUST), Irbid, Jordan in 1995 and 1998 respectively. He received his PhD in Electrical and Computer Engineering from Concordia University, Montreal, Canada in 2006. Currently he is working as an Assistant Professor, Department of Network Engineering and Security, Irbid, JUST. His research interests focus on Computer Networks, Wireless Multimedia Sensor Networks and Artificial Intelligence Applications.

Samer Khasawneh received his B.Sc. and M.Sc. in Computer Engineering from Jordan University of Science and Technology (JUST), Irbid, Jordan in 2006 and 2009 respectively. Currently he is working as a teaching tutor, Department of Computer Engineering, Al Zarka, Al Hashemite University. His research interests focus on Computer Networks, Security Aware Routing in Wireless Sensor Networks and Multipath Routing for Sensor Networks.