Your SlideShare is downloading. ×
Adaptive Routing in Wireless Sensor Networks: QoS Optimisation for Enhanced Application Performance
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Adaptive Routing in Wireless Sensor Networks: QoS Optimisation for Enhanced Application Performance


Published on

One of the key challenges for research in wireless sensor networks is the development of routing protocols that provide application-specific service guarantees. This paper presents a new …

One of the key challenges for research in wireless sensor networks is the development of routing protocols that provide application-specific service guarantees. This paper presents a new cluster-based Route Optimisation and Load-balancing protocol, called ROL, that uses various quality of service (QoS) metrics to meet application requirements. ROL combines several application requirements, specifically it attempts to provide an inclusive solution to prolong network life, provide timely message delivery and improve network robustness. It uses a combination of routing metrics that can be configured according to the priorities of user-level applications to improve overall network performance. To this end, an optimisation tool for balancing the communication resources for the constraints and priorities of user applications has been developed and Nutrient-flow-based Distributed Clustering (NDC), an algorithm for load balancing is proposed. NDC works seamlessly with any clustering algorithm to equalise, as far as possible, the diameter and the membership of clusters. This paper presents simulation results to show that ROL/NDC gives a higher network lifetime than other similar schemes, such Mires++. In simulation, ROL/NDC maintains a maximum of 7\% variation from the optimal cluster population, reduces the total number of set-up messages by up to 60%, reduces the end-to-end delay by up to 56%, and enhances the data delivery ratio by up to 0.98% compared to Mires++.

Published in: Education, Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Information Fusion xxx (2013) xxx–xxx Contents lists available at SciVerse ScienceDirect Information Fusion journal homepage: Full Length Article Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance Mohammad Hammoudeh a,⇑, Robert Newman b a b Manchester Metropolitan University, Chester Street, Manchester M1 5GD, UK University of Wolverhampton, Wulfruna Street, Wolverhampton WV1 1LY, UK a r t i c l e i n f o Article history: Available online xxxx Keywords: Wireless sensor networks Routing Distributed clustering Quality of service Optimisation Adaptive Load-balancing Application performance a b s t r a c t One of the key challenges for research in wireless sensor networks is the development of routing protocols that provide application-specific service guarantees. This paper presents a new cluster-based Route Optimisation and Load-balancing protocol, called ROL, that uses various Quality of Service (QoS) metrics to meet application requirements. ROL combines several application requirements, specifically it attempts to provide an inclusive solution to prolong network life, provide timely message delivery and improve network robustness. It uses a combination of routing metrics that can be configured according to the priorities of user-level applications to improve overall network performance. To this end, an optimisation tool for balancing the communication resources for the constraints and priorities of user applications has been developed and Nutrient-flow-based Distributed Clustering (NDC), an algorithm for load balancing is proposed. NDC works seamlessly with any clustering algorithm to equalise, as far as possible, the diameter and the membership of clusters. This paper presents simulation results to show that ROL/ NDC gives a higher network lifetime than other similar schemes, such Mires++. In simulation, ROL/NDC maintains a maximum of 7% variation from the optimal cluster population, reduces the total number of set-up messages by up to 60%, reduces the end-to-end delay by up to 56%, and enhances the data delivery ratio by up to 0.98% compared to Mires++. Ó 2013 Elsevier B.V. All rights reserved. 1. Introduction Wireless Sensor Networks (WSNs) hold a lot of promise in applications where gathering sensed data in remote or inaccessible locations is required. The stream nature of the gathered data, the limited resources, and the distributed nature of WSNs bring new challenges for data routing techniques that need to be addressed. Since communication is often the most expensive operation for a sensor node, the applications underlying data communication paradigm must be energy efficient. In WSNs, routing protocols are application dependent and their design goals vary among different applications. For instance, many applications require real-time communication, e.g., a fire fighter may rely on timely temperature updates to remain aware of the current fire conditions whereas a soil monitoring system may only need to report measurements every few hours. Therefore, routing protocols must meet the delay requirements at minimum energy cost. Hence, routing protocol designers have to consider the characteristics of sensor nodes along with the application and architectural requirements. Many routing protocols have been proposed in ⇑ Corresponding author. E-mail addresses: (M. Hammoudeh), R.Newman@ (R. Newman). the literature, although the performance of these protocols is promising in terms of energy efficiency, most of them come with no guarantee of Quality of Service (QoS) required by real-time and communication-heavy applications. As discussed in Section 2, a protocol that balances, as far as possible the following characteristics is needed: energy efficiency, scalability, robustness, and provision of timeliness. To address these requirements, a new protocol called Route Optimisation and Load-balancing (ROL) is proposed. Compared to LEACH [1] and Mires++ [2], this protocol reduces the cost and number of setup messages, and thus extends the network life. ROL improves on the robustness of LEACH and Mires by ensuring that each node learns multiple paths to its Cluster Head (CH) and by the electing of CH backup node(s). Energy expenditure is further reduced by shortening the distance between the node and its CH. This is done by incorporating a hop count metric in addition to the transmission backoff delay. Load balancing is achieved at two levels: (1) Network level, through traffic multiplexing over multiple paths; (2) Cluster level, by rotation of the CHs. This paper proceeds as follows. Section 2 introduces hierarchical routing in WSNs. Section 3 outlines the objectives and motivation for a new clustering protocol. In Section 4, is the main exposition of the ROL, it explains different phases in the clustering process. In Section 5, NDC is described. In Section 6, the evaluation 1566-2535/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved. Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 2. 2 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx metrics for the ROL/NDC are defined. In Section 7, the simulation results of ROL/NDC are presented. Finally, conclusions are drawn and further work suggested. 2. Hierarchical routing in WSNs Routing has proved to be a key issue in WSNs research. In the literature, a lot of the effort has been devoted to routing protocols since they differ depending on the nature of user applications and on the architecture of the underlying network. As clustering approaches are particularly tempting for large-scale high-density WSN applications, a solution for clustering with ad hoc wireless communications is sought. Hierarchical routing is a two or more tier routing scheme. Nodes in the upper tier are called CHs and act as a routing backbone, while nodes in the lower tier perform sensing tasks. Kulkarni et al. [3] argue that multi-tier networks are scalable and offer the following number of advantages over single-tier networks: lower cost, better coverage, higher functionality, and better reliability. Many clustering algorithms have been previously investigated, both independently and in the context of routing protocols. In this section, we briefly review some clustering protocols used in this paper. We refer the interested reader to [4,5] and references there in for a comprehensive survey of recent clustering algorithms. LEACH [1] is one of the first clustering-based protocols that utilises randomised rotation of the CH role to evenly distribute the energy load among nodes in the network. LEACH is well-suited for applications where constant monitoring is needed and data collection occurs periodically to a centralised location. LEACH has been based on a number of assumptions which in the authors’ opinion limit its effectiveness in a number of applications, such as single hop communication. Smaragdakis et al. [6] address the issue of heterogeneity of nodes in terms of their energy. The development of their protocol was motivated by applications that would benefit from realising the effect of nodes heterogeneity, e.g., re-energisation of WSNs and applications where the spatial density of sensors is a constraint. This protocol assumes that the sink can be reached directly by all nodes. It requires knowledge of the energy levels of other nodes in the network to weight the CH election probabilities, which requires extra communication overhead. In [7], the authors proposed a protocol called HEED for sensor applications requiring efficient data aggregation. HEED produces balanced clusters with low message overhead using information about residual energy and a second parameter such as node degree. HEED out-performs generic clustering protocols on various factors including energy efficiency. However, HEED is still heuristic in nature and suffers a high network delay due to the complexity of the CH selection algorithm. Besides which, HEED provides only a two level hierarchy. Unlike previous work targeting the optimisation of energy efficiency and network lifetime, Yang et al. [8] proposed Minimum Energy Spanning Tree for Efficient Routing (MESTER) for maintaining high quality in data collection for as long as possible. The design of MESTER is predicated on the idea that the sink or network controller is more powerful than the nodes, which are seen as having very limited resources. MESTER therefore adopts centralised algorithms and requires the sink to take control of managing the network topology and calculating the routing path and time schedule for data collection. This results in it being intrinsically non-scalable – or scalable according to the capacity of the sink, and dependent on the reliability of a single sink node. Mires++ [2] is a clustering service on a publish/subscribe middleware called Mires. It attempts to achieve energy saving, load balancing, and robustness. Mires++ implement two protocols: (1) Creates two tier flat clusters based on residual energy and subscribed data topics. (2) Performs load balancing by rotating the CH role and setting a maximum cluster size. It also elects a backup CH to achieve fault tolerance. Mires++ inherits all features of Mires middleware, including its drawbacks. Publish/subscribe is initiated centrally at the sink, which introduces a single point of failure, communication bottlenecks, and incurs high communication costs. Usually, nodes are deployed to achieve a common sensing task; therefore, all nodes are likely to subscribe in the same data topic, which reduces the usefulness of its clustering. Finally, physical location awareness is an important condition in Mires++ clustering, which limits its applicability. We compare ROL/NDC performance with that of Mires++ as they both aim to achieve the same goal. LEACH, and its derivatives, have been successful in reducing the energy per bit required by each node and the network as a whole. Nonetheless, most of these protocols are built upon inflexible assumptions and have serious drawbacks. Many clustering algorithms are heuristic in nature and have a time complexity of O(n), e.g., [9], where n is the total number of nodes in the network. Also other protocols, such as [6], demand time synchronisation among nodes, which makes them unsuitable for large-scale networks. Another set of protocols requires centralised management which limits their scalability. Some of these protocols have been designed with robustness in mind, however, the level of fault tolerance is usually designed to adapt to occasional node failures and infrequent topology migration. The characteristics of the protocols discussed above are summarised in Table 1. In summary, it is evident that the desired qualities of a routing protocol are largely determined by the characteristics of the applications they serve. Most of the reviewed clustering protocols are application specific. Such protocols require profound modifications to be flexible enough to meet the diversity of functional and nonfunctional requirements placed on them by applications. Therefore, application requirements combined with the sparse memory and processing resources of a typical node have great impact on choosing a suitable routing protocol. As more WSNs software applications are deployed and the diversity of sensor devices increases, there is significant value in developing a routing protocol that allows system developers to optimise its operation. This provides a way to provide paths based on different optimisation objectives as specified by an objective function and the routing metrics. Thus, a routing protocol that balances as many of the following design objectives is desirable: 1. Real-time: An effective protocol should provide timely communication by reducing end-to-end communication delays. Timeliness constraints are important as WSNs often operate in the real world to reflect the current physical status of the sensing environment. Data timeliness is normally at odds with energy consumption [10]; data aggregation reduces the routing protocol temporal performance due to the introduced aggregation delay. 2. Reliability: A reliable and robust routing protocol is to be capable of providing correct measurements at the right moment without interruption. Different WSN applications have varied requirements on the reliability of data delivery, which may Table 1 Characteristics of existing hierarchical routing protocols. Protocol Heuristic Sink centralised Depth limited Application limited LEACH HEED MESTER Mires++ No Yes No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 3. 3 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx 3. 4. 5. 6. 7. evolve over time. For example, a WSN deployed for fire detection in a forest can be used for measuring humidity as well. When the measured temperature is in the range of normal temperature it is delivered to the sink tolerating a certain percentage of loss. Yet, when a fire is detected, the data should be delivered to the sink with high priority. Scalability: Scalability is the ability of the network to grow in size without excessive communication overhead. In a larger scale WSN, more overhead is unavoidable to keep the build of the communication paths to the sink. Routing protocols should support in-network processing, such as lossy aggregation, and deploy localised algorithms to reduce the amount of communicated data to save energy and reduce bandwidth utilisation. Besides, they should be able to exploit the density of nodes in saving energy, distributing load, and correcting faults. Energy consumption: Routing protocols should use resources efficiently to carry out data communication tasks. This is particularly important for long-term deployment applications of WSNs. Load-balancing: Routing protocols should be able to distribute energy consumption between nodes to extend network life. Distributing workload will also help to prevent energy depletion in one part of the network, which may result in partial coverage of the monitored environment. Clustering requirements: Clustering should be kept fast, simple, and decentralised. The total number of clusters in the network should be sustained equal or around the optimal number of clusters defined in [1], which is 5% of the total number of nodes in the network. Location information: Routing protocol should be able to function without node geolocation. However, it should be open to utilise location information if the application requires. 3. ROL motivation and aim The increasing number of WSN applications, each with their own intrinsic needs, present systems designers with software architectural challenges, both at development time and throughout the system life-cycle. WSN research, e.g., [11], has successfully shown the merits of integrating application domain knowledge in system design. It is obvious that each application imposes different requirements on the routing scheme with respect to the urgency of timeliness, data delivery patterns, QoS, memory consumption, processing levels, etc. These requirements evince that special support for accommodating routing efficiently relies on a distinctive set of requirements as it must be optimised for the application. As shown in Section 2, most of the existing routing protocols are developed to meet application-specific design objectives and requirements. The majority of these protocols achieve one objective at the expense of others. This is likely because some objectives are contradictory. For instance, energy saving by data aggregation introduces considerable communication delays. Moreover, other routing protocols in the literature focus on achieving one or two of these design objectives and ignore the others. For example, Chun-yan et al. [12] is routing protocols with energy efficiency as the key design factor; Wei et al. [13] aims to handle dynamic topological variation; Kumar et al. [14] aims to handle event detection in heterogeneous networks; Tubaishat et al. [15] aims to provide secure data communication; Jawhar et al. [16] is designed for issues that are specifically related to topologically linear structure WSNs. To support various computationally demanding applications for large-scale WSNs, such as data visualisation applications [11], a routing protocol that considers part or all of the main design objectives (listed in Section 2) is needed. This routing protocol is designed generically and targets a variety of application scenarios by balancing the multiple application objectives based on a global optimisation equation. The motivation for developing a new routing protocol that can be specifically optimised to a range of applications include: (1) financial as software is reused and development time decreases; (2) easier maintainability as a common routing protocol can be deployed across a set of different applications; (3) simpler modelling of routing requirements; (4) improved applications performance. 4. ROL operation In this section we present the relevant details of the ROL algorithm and its parameters, which allow ROL to be configured. Optimisation in ROL refers primarily to the configuration of its routing parameters, which is achieved by setting their values according to application priorities. Table 2 summarises the ROL parameters and their impact on various routing design objectives. In the following, we briefly justify the chosen parameters and their relationship with the specific applications: 1. Backoff: The backoff achieves energy efficiency by minimising the cluster setup traffic. Each node joins the nearest CH and sends it its data over the path with the minimum number of hops; this results in lower queuing and propagation delays, reduced bandwidth utilisation, and decreased energy consumption. In many WSN applications, there is a logical relationship between adjacent nodes, i.e. nearby nodes represent related data. Associating nearby nodes with a particular cluster supports intelligent data aggregation/fusion, which consequently can reduce energy consumption and improves the quality of extracted information [17]. 2. Number of hops: Data packets are transmitted indirectly through multi-hops from the source node to the destination node. As the number of hops increase, the retransmissions become cumulative and successful communication becomes more unlikely [18]; the increased transmission range will inevitably cause higher interference, which results in lower throughput. Multihop communication can be used to avoid long range transmission to reduce the transmission power. Moreover, end-to-end delay often can be reduced by reducing the number of hops in a path. Multi-hop routing is particularly useful in large-scale applications, such as target tracking over large geographic region, where data sinks cannot be reached by nodes directly. 3. Number off backup CHs: Sensor nodes can switch to backup CHs when the current CH fails. This avoids complete re-clustering when re-assigning an interrupted CH. Moving to the alternative CH incurs short disruptive period, i.e. rapid CH healing reduces the amount of data loss and network availability time. Failureprone WSN applications, e.g., where nodes are deployed in harsh environments, can improve applications performance by utilising backup CHs. Table 2 Configurable ROL parameters and the applications objectives they affect. Parameter Design objective Backoff Num. of hops Num. of backup CHs Num. of paths Energy efficiency, timeliness Scalability, robustness, timeliness Robustness, data delivery ratio Robustness, data delivery ratio, timeliness, energy efficiency Energy efficiency, scalability, timeliness NDC Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 4. 4 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx 4. Number of paths: Multi-path routing yield a variety of benefits such as fault tolerance and increased bandwidth. It provides better transmission performance, fault tolerance and load balancing. Path failure starts a path discovery process to discover new routes, which introduces communication delays. Delay can be reduced in multi-path routing, as backup routes can be recognised immediately with minimum service interruption transparently to the application. In time critical applications, splitting data to the same destination into multiple streams where each stream is routed through a different path can reduce data delivery delay makes the paths are more fully utilised. 5. NDC: NDC is an effective reconfiguration algorithm to increase the network lifetime by fairly distributing nodes across clusters. Balanced clusters lead to fair energy consumption of the CHs. Clustering is specifically practical for applications that need scalability to hundreds or thousands of nodes. Scalability in this perspective means the need for load balancing and efficient resource utilisation. Applications requiring efficient data aggregation (e.g., calculating the average temperature in an area) are likely candidates for clustering. A CH can aggregate the data collected by the nodes in its vicinity and thus decrease the number of forwarded packets. Clustering can reduce communication interference. The first step in implementing an application is primarily setting the routing parameters according to specific guidelines provided by the routing protocol vendor. The most difficult part in this process is making the required application-related decisions. Configuring those decisions into the routing protocol is a relatively simple process. ROL provides robustness through a multi-path routing. Multiple paths can provide fault-tolerance, load balancing, and higher aggregate bandwidth. When a path fails, an alternative path can be immediately used, which allows the protocol to dynamically adapt to failures without delays. Load balancing can be achieved by multiplexing the traffic along multiple routes. When multiple paths are used simultaneously, the aggregate bandwidth of the paths may satisfy the bandwidth requirement of the application. Therefore, since there is more bandwidth available, a smaller end-to-end delay may be achieved. Multi-hop communication is an essential property of any scalable routing protocol such as ROL. Besides reducing the radio transmission power, multi-hop communication also has the following benefits [19]: 1. Spatial reuse: simultaneous communication sessions are possible for node pairs that are out of range of each other. 2. Obstacle ‘‘conciliation’’: a multi-hop path can go around an obstacle that obstructs direct radio connection between two nodes as shown in Fig. 1. 3. Distributed processing: a multi-hop topology allows the local processing of sensor data among nearby nodes. In some WSN deployments, e.g., in build areas, there may be obstacles blocking parts of the transmitter’s signal, such as walls, which will attenuate the signal seen at the receiver. Wireless networks designers have traditionally used multi-hop relaying to bypass obstacles, thereby gaining improved radio channel conditions [20]. As a result, multi-hop relaying provides an opportunity for performance improvements in WSN applications. The authors of this work proposed a solution in [21] to manage obstacles between nodes: Given a detour of length b[P, D] perpendicular to the line between nodes P and D, the effective distance between the two points is defined as: 1 di ¼ fðd½P; DŠÞ2 þ ðb½P; DŠÞ2 g2 ð1Þ where b[P, D] is the strength of the barrier. ROL, defines the hop count metric to measure how far the sensing node is from its CH. As the hop count in a particular routing path increases, the message delivery delay and the power consumption within the network increases due to the higher number of transmissions. The hop count metric allows nodes to: (1) Select the nearest CH, which saves energy by reducing messaging needed to bridge the distance between the node and its CH. (2) Find the shortest path to its CH. ROL implements a metric called the backoff delay. This metric is used to minimise clusters set-up overhead and to aid the formation of more geographically uniform clusters. During the backoff interval, nodes receive several CH advertisement messages. When the backoff delay reaches zero, the node transmits the advertisement message(s) with the smallest hop count. This helps in blocking advertisement flooding from CHs that are farther away from unnecessarily reaching neighbouring nodes. During the cluster set-up phase, one or more nodes are chosen as CH backup node(s). When the current CH decides to hand its role to the backup node, it notifies the respective backup node and forwards to it necessary information, such as the backup nodes list, to avoid a complete cluster set-up round. 4.1. ROL algorithm details The operation of ROL can be split into two phases: the setup phase and the data transmission phase. CH1 d1 CH2 d2 Fig. 1. The filled nodes are CHs. Horizontal and vertical bars forming L shape are obstacles. The solid lines are path from node n1 to CH-1 and the dashed lines are path from node n1 to CH-2. 4.1.1. Set-up phase During the set-up phase, CHs are selected and clusters are formed. The sink randomly selects 5% of the nodes as CHs and floods the network with this information. Every node that receives the sink’s discovery message changes its state from waiting to discovered and examines the message to check whether it has been selected as CH or not. If yes, it starts a new cluster by broadcasting an advertisement message. Otherwise, it broadcasts the original discovery message to its neighbours. The sink flooding step can be compared to the seeking of a single route in Dynamic Source Routing (DSR) [22], but every node knows only the next hop not the complete hop-by-hop route to the sink, and no node knows a route to any other node. Every CH broadcasts an advertisement message with the hop count set to 0. Upon receiving an advertisement message, a node does the following: (1) If it already belongs to a cluster, it ignores Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 5. 5 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx 4.1.3. Energy efficient sleep/Wake scheduling This paper implements a simplified and modified version of SMAC [23]. S-MAC is a complex medium-access control protocol for WSNs, which aims to reduce energy consumptions and support self-configuration. Inspired by PAMAS [24], S-MAC sets idle nodes to sleep during transmissions of other nodes. The design of S-MAC expects that applications will have long idle periods and can tolerate some latency. The implemented MAC protocol differs from the S-MAC protocol in the following aspects: the received message. (2) Else, if the received message carries a smaller hop count than the stored one, the latter is deleted and the former is retained and it continues listening for new advertisements. After the backoff delay expires, the node re-broadcasts the message with the smallest hop count after incrementing it by 1. A node remembers the node from which it received the message as the nearest neighbour to its CH. Then, the node calculates a value vc based on its available energy to represent its desire to become a CH in the next clustering round. vc is included in the join request message that the node sends back to register with the chosen CH. The CH registers the node as a member of the cluster and adds the nodes with the highest vc to its CH backup list. Compounding different functions into a single multi-purpose message reduces setup communication overhead. The cluster formation messaging is illustrated in Fig. 2. When the cluster round ends, the current CH hands its role to the first node in the backup list. With a single local flood, the new CH continues its predecessor’s role without the need of further communications. The CH role will also be handed to the backup node when a fault occurs in the current CH or when its energy level approaches a certain threshold. In the case of faults, such as physical damage or fatal internal errors in the CH, the nodes will transmit directly to the sink until a new cluster round is due. 1. For simplicity, our implementation does not require periodic synchronisation among neighbouring nodes to remedy their clock drift. 2. Our implementation utilises the formed real communication clusters, while S-MAC forms nodes into a flat topology or virtual clusters. 3. In S-MAC neighbouring nodes are free to talk to each other no matter what listen schedules they have. In our implementation, nodes can only talk during their allocated time slot. In the following we present some of the details of our implementation, particularly the sleep/wake schedule. Idle nodes consume significant amount of energy [25]. An effective approach to preserve energy is to set the radio to sleep during the idle times and wake it up precisely before message transmission/reception. In a network that involves multi-hop communication, this requires precise synchronisation between sending and receiving nodes. In the design of this sleep/wake scheduling method, we ignore the effect of synchronisation errors. We assume that a network-wide time synchronisation protocol maintains a consistent notion of time between various nodes in the networks. Time synchronisation has been extensively investigated and several implementations (e.g., [26,27]) can achieve synchronisation within microsecond. A related assumption we make is that nodes always have data of fixed length to send. 4.1.2. Data transmission phase During this phase, nodes transmit data to their CH. The CH aggregates the received data before transmission to the sink or immediately multiplexes messages over multiple lines in time critical applications. Each member node transmits data on its assigned time slot scheduled by the TDMA schedule. Furthermore, each cluster communicates with the sink using unique Code Division Multiple Access (CDMA) codes to avoid interference with traffic generated by other clusters. Fig. 3, illustrates data transmission from nodes to their CH. It also illustrates how the aggregated data is sent from the CH to the sink through multi-hop path. Sink n1 n2 n3 2 2 2 2 2 2 2 a a a b n4 2 3 b c 2 2 2 3 3 b 2 3 Collision 4 4 a b c 2 3 4 4 4 4 4 4 : Open arrow represents creating a message : Filled arrow represents forwarding a message : backoff time : random transmission time : time the CH waits before it creates and advertise a TDMA schedule : ImCH(ch_id, numHop), an advertisement message sent by the CH to declare its new role. It contains the CH ID and the number-of-hops to reach it. : Wish(ch_id, wish_value), this is a join request sent by a sensing node to a CH. It contains the respective CH ID and a wish value representing its desire to become a CH in the next round. : ADV_SCH(order), an advertisement message sent by the CH to all its member nodes. It contains the TDMA schedule that specifies the order of data transmission for each node. Fig. 2. In this scenario, node n3 was chosen to be a CH. It broadcasts an advertisement message. Receiving nodes wait for time a before they choose the message with the minimum hop count and send a join request message to the corresponding CH. After random delay b, nodes re-broadcast the received advertisement. The CH waits for a time, c, to receive all potential join request messages before it creates and broadcast the TDMA schedule. Note the collision that happened when nodes n1 and n2 forward the advertisement messages at the same time. Section 4.1.3 describes how this type of collisions is managed. Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 6. 6 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx Sink n1 n2 n3 n4 d d d 5 5 5 5 6 6 6 d : data transmission time assigned in the TDMA 5 : Data(data), data message sent by sensing node to its CH. It contains raw data collected by the node. 6 : ToS(AGdata), a message sent by the CH to the sink. It contains aggregated data. Fig. 3. The CH n3 aggregates all received data messages and sends them to the sink. In ROL, all nodes communicate with their CH through a TDMA. ROL upgrades the TDMA method used in LEACH to make it suitable for multi-hop communication. The TDMA is created by each CH node based on the number of nodes in the cluster. The time domain is divided into several periodic time slots of fixed length, one for each node. The sleep/wake scheduling is integrated with the TDMA schedule to achieve greater energy savings (TDMA protocols avoid energy waste due to contention); the radio is turned off during idle times and wakes up just before message transmission/reception. To sustain a connected graph, nodes sleep times should be appropriately synchronised. If a node is in the path of transmission of other nodes, it must not sleep before it sends its own data and forwards its children data. Sensing nodes make up their children set while forwarding the join request messages during the cluster setup phase. The proposed sleep/wake schedule aims to reduce the sleep latency by having a periodic receive-send-sleep cycle. This is achieved through level-by-level offset schedules, in which data flows in step by step from the leaves of the tree towards the CH, with nodes going to sleep once they send their packets to their parents, and waking up just in time to receive the next round of packets. In this design, we assume that the number of slots available to the cluster is fixed. This in effect defines the duration of the periodic sleep cycle, and the wake cycle, which are assumed to be determined a priori by many factors including: 1. Application-specific requirements for energy efficiency, e.g., end-to-end delay. 2. The size and type of the collected data, e.g., numerical, image, or video data. 3. The packet generation rate. 4. Limitations on sleep/wakeup times of the radio hardware involved. 5. The processing time, especially in systems that involve complex patterns of in-node processing (e.g., lossy data aggregation). 6. The average distance between a node and its parent (propagation delay). 7. Manufacturing imprecision and aging, the clock frequency is affected by environmental factors including temperature, pressure, and voltage [28]. In the absence of a network-wide synchronisation protocol, a guard interval can be added to the slot to compensate for synchronisation errors. The sleep/wake schedule will result in every node having a path on which all intermediate nodes have sequentially increasing slots. The node wake up time is calculated as the transmission interval plus the number of hops between the leaf node times a single slot length. For instance, if nodes send their data every m minutes and the slot length is sllsec, then, a node that is nh hops from the leaf node will wake up at time t = m + (sl  nh). In large scale WSNs, multiple nodes should be allowed to transmit at the same time slot if their receivers are in non-conflicting parts of the network, i.e. a receiver of a specific transmission is also within the radio range of another transmission intended for another node. If a node communication may interfere with another node communication, these nodes should not transmit simultaneously. To avoid interference and unnecessary communication delay, each sensor node obtains the slot assignments of its neighbours. Then, the two nodes can synchronise to wake up at different times. This sleep/wake pattern is similar to that of the S-MAC protocol. In S-MAC each node follows a periodic active/sleep schedule, synchronised with its neighbouring nodes. As in LEACH and S-MAC, ROL also uses CDMA to minimise interference between clusters such that each cluster uses a different set of CDMA codes. When a node is in the multi-hop path for transmitting the aggregated data coming from the CH to the sink, it has to schedule carefully to participate in each communication. One way to achieve this is by creating a secondary sleep/wake schedule. The secondary schedule is created sequentially starting at the CH. Since the CH knows the next hop towards the sink node, it synchronises with that node to wake up at time tCH = m + ot(sl  nhmax) where nhmax is the longest path between the CH and a leaf node and ot is a fixed time offset. This allows the CH to collect and aggregate data from all of its member nodes. Then, each node on the path to the sink increments the tCH by sl and forwards it to the next hop in the path. This process terminates at the sink node. For the duration of the network setup phase, CH advertisement communication is not guaranteed collision-free as TDMA schedules are only created after clusters are established. S-MAC handles collisions resulting from interference with other signals by having nodes backoff for a random duration before transmission. The full SMAC implementation also deals with collisions through the use of traditional mechanisms such as RTS/CTS exchange and virtual listening according to a network allocation vector. In delay sensitive applications or in applications that involve heavy bidirectional traffic, i.e. frequent network querying, all nodes in the network wake up at the same time according to a simple periodic pattern with a fixed period such as the IEEE 802.11. 4.2. A tool for performance optimisation To find values for the routing parameters that are best for a particular application, system designers are provided with an interactive tool (see Fig. 4). This tool, aids in resolving the performance differentiation of applications by incorporating the configurability of the ROL parameters. It can be used by system designers, who Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 7. 7 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx Fig. 4. ROL interactive tool. have advance knowledge of application requirements, to order different routing design objectives according to their importance for the application and automatically calculates the routing parameters values. System designers can also use the tool to change different parameter values to manually optimise ROL performance. As the user changes the values, the impact of these changes on the various protocol performance areas is visually reflected on a scale as a percentage from 0 to 100. Theoretically, finding the best routing parameter values is a global optimisation problem. According to [29], the global optimisation is to find the best possible element x⁄ from a set X according to a set of criteria F = {f1, f2 ,. . . , fn}. These criteria, called objective functions, are expressed as functions. An objective function can be expressed as f: x ´ Y with Y # R. Objective functions can be simple mathematical expressions as well as complex algorithms. Global optimisation covers all methods that can be used to find the best element x⁄ in X such that f 2 F. Because the relation between the various routing parameters and their effect on the routing performance is clear, routing optimisation can be solved using deterministic algorithms. Such deterministic algorithms use problem dependent heuristics based on a model of some natural phenomenon or physical process. In this work, global optimisation is applied to sets F (many criterion) consisting of n = jFj objective functions fi, each representing one design objective to be optimised. F ¼ fi : X # Y i : 0 < i 6 n; Y i # R ð2Þ This class of optimisation algorithms is usually named with the prefix multi-objective. ROL achieves optimisation by computing a weighted sum g(x) of all functions fi(x) 2 F. Each objective fi is multiplied with a weight wi corresponding to its priority. Weighted sum seeks Pareto optimal solutions [30] by systematically changing the weights among the objective functions, i.e. trading-off conflicting objectives. Signed weights can be used to give some objectives more weight or influence on the routing performance than other objectives in the same set. An example from [29] assumes that a weight wa = 1 is applied to an objective function fa and the weight wb = À1 to the objective function fb. Decreasing g(x), results in reducing the influence of fa and increasing that of fb and vice versa. In this way, multi-objective problems can be simplified to single-objective ones. In [29], g(x) is presented as: gðxÞ ¼ n X i¼1 wi fi ðxÞ ¼ X 8fi 2F wi fi ðxÞ ð3Þ and xà 2 X à ( gðxÃ Þ P gðxÞ 8x 2 X ) ð4Þ To generalise to an arbitrary number of objective and any dimensionality state space, we replace the scalar x by a vector field x(z) defined over domain x. The choice of a vector field for x allows modelling more than one quantity of interest. The new n objective functionals is f ðxÞ ¼ Z LðxðzÞÞdz where L is a set of operators on the vector field x. The weights are given by the vector -, such that the overall cost function is e(-, x) = -Tf(x). The minimum cost solution for a given set of weights is x⁄(), resulting in a total cost of e⁄(-) = minze(-, x) = e(-, x⁄(-)). The weight function must be convex, regardless of the convexity of individual objective functions. The above weight function is convex in -. The proof is as follows: Proof. Let eà ð-1 Þ ¼ eà and eà ð-2 Þ ¼ eà Á eà ð-Þ is convex if for any 1 2 r 2 [0, 1], eà ðr-1 þ ð1 À rÞ-2 Þ P reà þ ð1 À rÞeà . 1 2 eà ðr-1 þ ð1 À rÞ-2 Þ ¼ min ex ðr-1 þ ð1 À rÞ-2 ; xÞ ¼ minðr-1 þ ð1 À rÞ-2 ÞT f ðxÞ z P minr-T f ðxÞ ¼ reà þ ð1 À rÞeà 1 1 2 z Sensor network designers can choose the configurations that best suit their application requirements. If the default values of the parameters are used, ROL/NDC attempts to achieve a good level of the following main design objectives: energy efficiency, timeliness, and robustness. h 5. Optimal cluster balancing In this section we propose an optional cluster balancing plug-in called Nutrient-flow-based Distributed Clustering, NDC. This plugin can be used with any clustering algorithm. The aims of the NDC algorithm are: (1) To equalise, so far as is possible, the diameter of the clusters. (2) To equalise, so far as is possible, the membership of the clusters. The distributed model described here is based around a metaphor of nutrient flow supporting some simple lifeform, such as a mould. The concept is to provide a limited supply of nutrient and allow the nodes to ally themselves with a CH which Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 8. 8 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx will provide the largest nutrient supply. If properly regulated, this should lead to clusters broadly equalising their membership. In order to minimise the radius of a cluster, it is arranged that some of the supply of nutrient is lost in transit between nodes – the further the distance travelled, the more is lost. It is important that some advantage be given to nodes that join in a cluster, rather than communicating directly with the sink. For this reason, it is necessary to provide some advantage associated with clustering, as opposed to direct communication. The simplest way to do this is to make the loss of nutrient super-proportional to the distance of a link. Given that in real life, radio propagation obeys an inverse square law, it seems reasonable to make the loss of nutrient proportional to the square of the distance travelled. Like many distributed route discovery algorithms, NDC operates in distinct phases with the network reconfiguring itself from phase to phase. During each phase, nodes try to improve the amount of nutrient available to them. They do this by contacting a local node at random and if clustering with that node will offer a better supply than that which is currently available, then the node changes allegiance. Nodes receiving requests for nutrient from other nodes make an offer back to that node, giving an estimate of the nutrient that would have been available had that node been a member of its cluster. The estimate depends both on the amount of nutrient available, and the number of nodes dependent on that CH. Another consideration is that the algorithm has to give encouragement for clusters to grow, that is that the amount of nutrient available becomes greater as nodes join the network. To effect this in each phase the sink has an available amount of nutrient proportional to the total number of connected nodes. The starting conditions are as follows: (1) Some initial store of nutrient available at the sink, nsink. (2) Current state of all other nodes is to have no nutrient, nav = 0. From the initial state, some nodes (Nc) will by chance have direct contact with the sink. These become the initial CHs, and each is given an equal share of the nutrient available nav ¼ nsink , which is jN c j available to them as attenuated by the square of the distance from the sink. Across the network the sequence of events in each phase is as follows: Nutrient allocation: Each node transmits to its dependents (if any) the total amount of nutrient available to that cluster and the current number of members (including the CH) at that level of the hierarchy. Each dependent calculates its share of nutrient, S, for this phase, which is n 2 mÂkÂd where n is the total nutrient available to the cluster, m is the number of members, k is a constant of proportionality for the distance adjustment and d is the distance between the node and the CH. CH advertisement: Each node which has a supply of nutrient selects another node (or set of nodes, to speed up the evolution of the system) at random and forwards the above information, along with the identity of the CH. Nutrient estimation: The receiving node calculates the amount of nutrient, S0 , it could have received in this phase as a member of that cluster. If the amount is greater than its actual allocation in this phase it communicates with the CH and joins the cluster (also communicates with its old CH to leave that cluster). CH propagation: CHs propagate upward through the network the number of members. The sink calculates the amount of nutrient available to each clustered for the next phase using the formula nn ¼ no  mn mo where nn is the nutrient available for the next phase, no is the nutrient available this phase, mn is the membership reported, mo is the membership reported for the previous phase. The effect of this redistribution of nutrients is to advantage CHs gaining members, in order to avoid cyclical movement of members between clusters. The operation of the NDC clustering is summarised in Algorithm 1. Algorithm 1. NDC cluster balancing. 1. some nodes become initial CHs 2. the sink gives each CH nutrient share nav 3. each CH sends the values of n and m 4. nodes receiving the CH message do the following: 5. calculate S 6. forward current CH id & the received n and m values 7. nodes receiving the forwarded message do the following: 8. calculate S0 9. IF S0 > S THEN 10. leave current CH 11. join the CH in the forwarded message 12. END IF 13. all CH send their m value to the sink 14. the sink calculate nnext 15. the sink broadcast nnext value From the viewpoint of theory, the resource allocation policy of a communication link can be depicted by a Directed Acyclic Graph (DAG) [31] with a single root representing the sink and leaf nodes representing individual traffic streams. Middle nodes represent organisational entities. Each node gets resources from its parent and identifies how its resources are distributed to its children. Examples of policies include fair resource sharing at various granularities, traffic priorities, and communications distances. DAGs can be used by various applications to specify how traffic streams or groups of nodes should share bandwidth. By merging subgraphs, the management policies of various routing resources (e.g., timeliness) can be characterised simultaneously. NDC lends itself naturally to dealing with failure recovery in an integrated mode during the resource distribution process. For instance, applications can prepare for a quick response to the failure of nodes and links during the formation of the graph, e.g., use another sub-graph with highest resource availability. Fig. 5a shows a simple 2-cluster network scenario modelled as a DAG based on the received nutrient values. In Fig. 5b, the optimised DAG based on the highest nutrient availability is shown. To accommodate nutrient flow in the network scenario, the problem of local maxima need to be solved. This means that NDC has to ensure that there exists a path from any node to its CH and the nutrient levels of all nodes along the path are strictly increasing towards the CH, i.e. there exists a neighbour of Hi, Hj, and Si < Sj. This is achieved by normalising the node to CH distance (d). When d > 1, the probability of local maxima is P0. Therefore, the original function is modified to use dNorm(0, 1). By negation, assume that there is no neighbour with Si < Sj, for every node Hj, Si P Sj. Then, from the iterative calculation of the nutrient, Si, we can write: Si ¼ nParent 2 mParent  k  dNorm ^ S j P Sj Thus nParent 2 mParent  k  dNorm P Sj and dNorm P 1 which contradicts the previous assumption that dNorm 2 (0, 1). Therefore, for every sensor node connected to the network, there exists at least one link from that node to the CH. Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 9. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx 9 Fig. 5. DAG based on nutrient transfer. 6. Evaluation metrics In this section, the performance of ROL is to be evaluated via simulations with respect to the following metrics: 6.1. Data delivery ratio Data Delivery Ratio (DDR) is a service level parameter that indicates the network effectiveness in transmitting offered data in one direction of virtual connection [32]. It is considered as one of the prime measures of robustness. DDR is a ratio of successful distinct payload octets received to attempted payload octets transmitted [32]. When calculating DDR, the packets which arrived late at the destination are considered ineffective. The DDR for a single node Si is denoted as DDR(Si) and defined as: P DDRðSi Þ ¼ data delivered to the sink P  100% data offered by Si ð5Þ where data delivered is successfully delivered payload octets and data offered is the attempted payload octets transmitted. The overall DDR of a network with a number of nodes n, denoted as DDRN, is the average DDR of all nodes: DDRN ¼ n 1X DDRðSi Þ n i¼1 ð6Þ by the number of connection pairs throughout the simulation to eliminate the effect of the network scale. Then timeliness is measured as follows [33]: Pn n TN TðSi Þ 1 X TðSi Þ ¼ Pi¼1 ¼ T Network ¼ 1 Pn n n i¼1 hðSi Þ i¼1 hðSi Þ i¼1 hðSi Þ n where h(Si) is the minimum hop count from Si to the sink. TNetwork is the average time it takes a packet to be delivered. When TNetwork = 1, it means that the packets have an equivalent average delay of the same packets delivered through the shortest paths with a delay of 1 on each hop. 6.3. Energy efficiency Since radio communication is the most power hungry operation [35], the cost that ROL imposes on the networks is considered in terms of number of messages sent. This measure also gives an indication of the bandwidth usage besides the energy consumption. Recall that all messages, including the ones originating from the CHs and carrying aggregated data, have a fixed data length. In this work, we are only interested in studying the effect of using the backoff time metrics on the cluster setup traffic. Therefore, the setup traffic for a single cluster formation round, TrRound is calculated as: TrRound ¼ 6.2. Timeliness Timeliness is measured as the time normalised against the average time for a single-hop along the shortest path from a node to the sink [33]. Recent studies in WSNs focus on timeliness as a QoS metric (e.g., [34]). The average delay taken by the first copy of a packet from the source node, Si, to the sink is denoted as T(Si). T(Si) includes all possible delays that are caused by queuing in the interface queue, retransmission at the MAC layer and the propagation through the environment. The average delay of all n nodes, denoted as TN, is given by: TN ¼ n 1X ðta À ts Þ n i¼1 ð7Þ where ta is the time a packet arrives at the sink and ts is the time a packet sent at the source. The delay depends also on the scale of the network [33]. The average network delay is the total delay divided ð8Þ number of sent messages C life ð9Þ where Clife is the time spanning from the moment the CH sends the first advertisement message to the moment all cluster members receive the TDMA schedule. 7. Simulation experiments As ROL is derived from LEACH, we adopt the same network and energy model for better comparison. We use the specification of MICAz [36], a popular sensor node prototype, to make the simulation adhere to the real hardware parameters of WSNs. Random graphs were dispersed in a 100 m  100 m region such that no two nodes share the same location and the transmission range of each node is bound to 75 m. The bandwidth of the channel was set to 250 kbps, each data message was 50 bytes long, and the packet header for various message types was fixed to 30 bytes. A simple model for radio hardware energy dissipation is also Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 10. 10 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx assumed. All the nodes were given an initial 0.5 J supply of energy. For the experiments described here, both the free space (d2 power loss) and the multi-path finding (d4 power loss) channel models were used. The processing delay for transmitting a message is randomly chosen between 0 and 5 ms. Using this network configuration, we simulated in the Dingo WSN simulator [37] the ROL/NDC, Mires++, and LEACH with 5% of the nodes being CHs. 7.1. Energy consumption This experiment studies the effect of the ROL/NDC parameters on the energy consumption. ROL/NDC was simulated with various backoff delay values. Fig. 6 plots the total number of setup messages versus the backoff delay. When the backoff delay is set to 0 the behaviour of ROL/NDC will be similar to LEACH. The figure shows that as the backoff delay increases, the number of setup messages decreases until the time becomes large enough for nodes to receive advertisements from all CHs. The optimal backoff delay is calculated from Fig. 6 to be around 20 ms. Using this value, the total number of set-up messages is reduced by up to 65%. Fig. 7 shows ROL/NDC, Mires++, and LEACH network life. The network life is studied as the number of rounds until the first node dies (Fig. 7a) and the number of rounds until the last node dies (Fig. 7b). ROL/NDC achieves energy gains by reducing the clustering overhead, load balancing across clusters, and using shortest multi-hop communication paths. In Mires++ and LEACH the network life trend was flat and considerably lower than ROL/NDC. Mires++ incurs high energy consumption due to heavy setup communication. Often adapting synchronous communication, such as the publish/subscribe style used in Mires++, is computationally intensive process. Mires++ also spend a significant amount of energy on updating nodes topics subscription. In LEACH, the long range radio transmission results in nodes energy depletion. Also, LEACH requires nodes to continuously listen to the channel, which results in considerable energy waste. Generally, clusters formed based on the shortest distance will consume minimum communication energy at the beginning, but energy consumption will eventually increase due to the reclustering overhead. 7.2. Load-balancing This experiment covers network load-balancing offered as a main design objective of ROL/NDC. We study the effect of the hop count, the backoff delay, and the use of NDC on clusters formation (geographic span and population). LEACH, Mires++, and ROL/ NDC were respectively applied on randomly generated network topologies. Due to the effect that nodes distribution have on the results, multiple simulation runs are combined to estimate uncertainties in the simulations. In other words, to demonstrate that Fig. 6. CH advertisement traffic versus backoff delay. Fig. 7. Energy performance analysis. the load is balanced for any setup we ran the same experiments for five different distributions. This makes our simulation a Monte Carlo simulation, as repeated sampling from a distribution is performed. Also, to accommodate to the effect of CH locations on nodes distribution, CH locations were kept fixed in all runs (original location were determined nondeterministically). In each protocol run, randomly distributed nodes are organised into five clusters (optimal percentage of CH as calculated in LEACH). Then, node distribution between different clusters is studied. In ROL/NDC the backoff delay were set to 20 ms and the hop count initially set to 0. Fig. 8 shows nodes distribution among clusters formed using LEACH, Miress++, and ROL/NDC. The population density (the number of nodes per unit area) of various LEACH generated clusters varies largely (see Fig. 8a; the first and fifth clusters hosted over 65% of the total number of nodes on 62.5% of the application area, while the other three clusters hosted less than 35% of the total network population on the rest of the application area. LEACH poor performance is mainly due to defining network regions by inconsistent wireless connectivity. It does not deploy any mechanism that manages the span or the membership of clusters. In Miress++ (Fig. 8b), nodes were distributed more fairly among clusters when compared to LEACH. However, two of its clusters were underpopulated (hosted 10% of the total population). This is possibly due to nodes distribution. Miress++ ignores the location and distance between nodes when forming its clusters. The unfair cluster population is critical as Miress++ relies only on rotating CH Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 11. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx 11 variance is approximately three times smaller than that of LEACH (11.818). 7.3. Robustness Fig. 8. Load-balanced cluster formation. to achieve load balancing, i.e. without balanced cluster membership it will be load unbalanced. ROL/NDC formed energy efficient clusters by reducing the bridging distance between nodes and their CH (see Fig. 8c). The number of nodes at every cluster maintained a maximum of 7% difference from the optimal population (20%). Proportional non-overlapping clusters of physically close nodes reduce the cluster management overhead and therefore the total network energy consumption. The average variance, from the optimal, of the coverage polygon of the 10 clusters in ROL/NDC networks is 3.1075. This This experiment aims to measure ROL/NDC’s ability to maintain a high DDR within a given timeliness constraint in the presence of communication failures. This evaluation scenario simulates permanent communication failures caused due to hardware failure or energy depletion. In Dingo, node attributes include the expected time of node failure and failure type (e.g., PHY_D indicates physical node damage by an external event). These attributes is used to break communication links during the simulation at a given times. During simulations, faulty nodes are selected randomly based on their node ID (an integer value between 1 and n), where n is the total number of nodes in the network. The selection of nodes is not correlated with the node location. Failures occur during the first data transmission phase; after the node sends its data, its energy level drops to 0 J, consequently its radio will be switched off. Other nodes continue to function normally according to their assigned TDMA slot. Fig. 9a shows the DDR for ROL/NDC, Mires++, and LEACH. The DDR of the three protocols decreases as the node density increases. ROL/NDC maintains very high DDR, close to 1, in all tested network densities. In ROL/NDC, nodes know multiple paths to their CH. If the primary path fails, one of the standby paths will be used. Moreover, CH failures can be quickly recovered without incurring large data loss. The short distance between nodes and their CH helps in localising traffic, which results in less congestion and data loss. LEACH, however, offers lower DDR, first is ROL/NDC. The long range communication increases the potential for collisions. Additionally, if the sink is out of nodes communication range, data will not be delivered. Mires++ does not define any mechanism to deal with node or communication paths failures, it only focuses on CH failures. Moreover, excessive delay due to heavy in-network processing, data aggregation and fusion, significantly reduced the DDR. Fig. 9b plots the average end-to-end delay for the ROL/NDC, Mires++, and LEACH at different node densities. At each point, the end-to-end delay of five runs was averaged. ROL/NDC has lower average end-to-end delay than Mires++ and LEACH. There are several factors accounting for this outcome. First, ROL/NDC forwards data on the shortest path to the CH, therefore, reduces propagation and queuing delays. Second, in time critical applications ROL/NDC multiplexes data over multi-paths to avoid congested paths. However, in LEACH, nodes can only transmit their data according to a TDMA schedule that includes the entire network due to the single hop communication. Major delays can be caused by the time period during which failed or lost paths can be recovered. In Mires++, the publish/subscribe communication and the message handling process introduces considerable delays. First, incoming messages has to be validated by examining several header fields. Then, valid messages are sent to the corresponding message handler based on the message type. After parsing the message payload, the message handler updates the state of the node and respond accordingly. To reduce raw data transmissions, cHs and sensor nodes run sophisticated computing algorithms, such as data aggregation and fusion, which introduces considerable message delivery delays. 7.4. Selection according to application From the discussion above, it can be seen that ROL/NDC outperforms the other protocols with regard to energy consumption, load balancing and robustness. Thus, there are few WSN applications for Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 12. 12 M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx tem will outperform one based on the other protocols. Particularly, the longer life due to lower energy usage and the greater robustness would be expected to translate directly to a lower cost of ownership, and this an increased return on investment. 8. Conclusion Fig. 9. Robustness comparison in terms of DDR and average end-to-end delay. which it would not produce a better functioning system than the others, so long as they are based on a set of nodes with reasonably similar resource, since ROL/NDC is based around distribution of the workload. For systems based on a powerful network controller and small, computationally weak nodes, a simpler centralised protocol such as MESTER would be appropriate. Networks using more fully resourced nodes will tend to be those using nodes carrying a diverse sensor load, including sensors requiring extensive data processing by the node. This type of network will also tend to produce a greater volume of data, favouring the higher DDR and lower end-to-end delay that ROL/NDC offers. The differences in performance are also less pronounced for small networks, below a few hundred nodes. So, while ROL/NDC is advantageous for all non-centralised networks, it comes into its own for very large networks, composed of relatively powerful nodes, in which each node generates substantial amounts of data. WSN of this type are still relatively rare in practice, with most consisting of a few tens of nodes. However, in many applications networks are installed incrementally, and may be expected to grow to a considerable size over a few years. For instance a recent application [38] known to the authors places a small sensor network, of around ten nodes in a vineyard as part of a food quality traceability system. Each node carries temperature, humidity, sunlight and leaf wetness sensors, and currently transmits data to a single base station. In its present configuration, any of the protocols discussed here would be adequate. But, the vineyard in which it is installed has a number of similar fields, so if this installation is successful in returning on investment, the network will grow to over a hundred nodes quite quickly. This is about the size where the advantages of ROL/NDC become apparent. Furthermore, this vineyard is a member of a co-operative, and if all members adopt the same system then the network will grow to over a thousand nodes, and an ROL/NDC sys- This paper presented a distributed clustering protocol, called ROL/NDC. This protocol groups nodes into clusters and build routing paths based on localised metrics that are linear in the number of nodes and linear in the number of links, which makes ROL energy and computationally efficient. This work, distinguishes itself from current state of the art solutions in three respects. First, it uses a combination of optimisable routing metrics to build energy efficient clusters at low cost. These parameters can be configured and managed to allow user applications to perform better and coexist with each others. Second, it defines a new cluster balancing method. Third, unlike existing work that focuses on one design goal, ROL/NDC can achieve comparable results in all of the above design aims. In future we intend to test the proposed algorithms with other applications and network topologies. Most importantly, we will consider the inclusion of more design objectives into ROL/NDC and research more sophisticated methods to optimise it for specific applications. An interesting extension of this work would be designing a sleep/wake scheduling algorithm that considers variable size messages. This is particularly useful for applications where a node may have considerably more data to send than some other nodes, e.g., aggregated data or image of detected event. In this case per-hop MAC level fairness is not important as long as application-level performance is not degraded. References [1] W. Heinzelman, A. Chandrakasan, H. Balakrishna, Energy-efficient communication protocol for wireless microsensor networks, in: Proceedings of the 33rd International Conference on System Sciences, 2000. [2] P. Nie, Z. Jin, Y. Gong, Mires++: a reliable, energy-aware clustering algorithm for wireless sensor networks, in: Proceedings of the 13th ACM International Conference on Modeling, Analysis, and Simulation of Wireless and Mobile Systems, ACM, 2010, pp. 178–186. [3] P. Kulkarni, D. Ganesan, P. Shenoy, The case for multi-tier camera sensor networks, in: Proceedings of the 13th Annual ACM International Conference on Multimedia, 2005, pp. 229–238. [4] Y. Yang, M.I. Fonoage, M. Cardei, Improving network lifetime with mobile wireless sensor networks, Comput. Commun. 33 (2010) 409–419. [5] J. Zhang, V. Varadharajan, Review: wireless sensor network key management survey and taxonomy, J. Netw. Comput. Appl. 33 (2010) 63–75. [6] G. Smaragdakis, I. Matta, A. Bestavros, Sep: a stable election protocol for clustered heterogeneous wireless sensor networks, in: Second International Workshop on Sensor and Actor Network Protocols and Applications (SANPA 2004), 2004. [7] O. Younis, S. Fahmy, Heed: a hybrid, energy-efficient, distributed clustering approach for ad hoc sensor networks, IEEE Trans. Mobile Comput. 3 (2004) 366–379. [8] Y. Yang, H. Wu, W. Zhuang, MESTER: minimum energy spanning tree for efficient routing in wireless sensor networks, in: Proceedings of the 3rd International Conference on Quality of Service in Heterogeneous Wired/ Wireless Networks, ACM, 2006, p. 17. [9] S. Lindsey, C. Raghavendra, Pegasis: power efficient gathering in sensor information systems, in: Proceedings of the IEEE Aerospace Conference, 2002. [10] T. Abdelzaher, T. He, J. Stankovic, Feedback control of data aggregation in sensor networks, in: Decision and Control, 2004. CDC. 43rd IEEE Conference on, vol. 2, 2004, pp. 1490–1495. [11] M. Hammoudeh, R. Newman, S. Mount, C. Dennett, A combined inductive and deductive sense data extraction and visualisation service, in: Proceedings of the 2009 International Conference on Pervasive Services, 2009, pp. 159–168. [12] S. Chun-yan, Z. Hua-zhong, Z. Xiu-yang, Clustering hierarchy tree routing algorithm based on leach, J. Comput. Appl. 28 (2008) 2594. [13] X. Wei, T. Ya-qing, X. Hua, M. Yu-wen, Hierarchical routing protocol to handle topological variety for wireless sensor network, Chinese J. Sensors Actuat. 21 (2008) 1635–1639. [14] D. Kumar, T.C. Aseri, R.B. Patel, EEHC: energy efficient heterogeneous clustered scheme for wireless sensor networks, Comput. Commun. 32 (2009) 662–667. Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),
  • 13. M. Hammoudeh, R. Newman / Information Fusion xxx (2013) xxx–xxx [15] M. Tubaishat, J. Yin, B. Panja, S. Madria, A secure hierarchical model for sensor network, SIGMOD Rec. 33 (2004) 7–13. [16] I. Jawhar, N. Mohamed, K. Shuaib, N. Kesserwan, An efficient framework and networking protocol for linear wireless sensor networks, Ad Hoc Sensor Wirel. Netw. 7 (2009) 3–21. [17] M. Hammoudeh, T. Alsboui, Building programming abstractions for wireless sensor networks using watershed segmentation, in: Smart Spaces and Next Generation Wired/Wireless Networking, Lecture Notes in Computer Science, vol. 6869, 2011, pp. 587–597. [18] H.-N. Dai, Throughput and delay in wireless sensor networks using directional antennas, in: 5th International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), 2009, 2009, pp. 421–426. [19] C. Gui, Routing Performance and Power Conservation in Ad Hoc and Sensor Networks, Ph.D. Thesis, Computer Science, 2005. [20] Y. Liu, R. Hoshyar, X. Yang, R. Tafazolli, Integrated radio resource allocation for multihop cellular networks with fixed relay stations, IEEE J. Sel. Areas Commun. 24 (2006) 2137–2146. [21] M. Hammoudeh, R. Newman, C. Dennett, S. Mount, Interpolation techniques for building a continuous map from discrete wireless sensor network data, Wirel. Commun. Mobile Comput. 2 (2011) 41–60. [22] D.B. Johnson, D.A. Maltz, Dynamic source routing in ad hoc wireless networks, in: Imielinski, Korth (Eds.), Mobile Computing, vol. 353, Kluwer Academic Publishers, 1996. [23] W. Ye, J. Heidemann, D. Estrin, An energy-efficient mac protocol for wireless sensor networks, in: INFOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings, IEEE, vol. 3, 2002, pp. 1567–1576. [24] S. Singh, C.S. Raghavendra, PAMAS – power aware multi-access protocol with signalling for ad hoc networks, SIGCOMM Comput. Commun. Rev. 28 (1998) 5–26. [25] Y. Wu, S. Fahmy, N.B. Shroff, Energy efficient sleep/wake scheduling for multihop sensor networks: non-convexity and approximation algorithm, in: 26th IEEE International Conference on Computer Communications, 2007, pp. 1568– 1576. 13 [26] J. Elson, L. Girod, D. Estrin, Fine-grained network time synchronization using reference broadcasts, SIGOPS Oper. Syst. Rev. 36 (2002) 147–163. [27] S. Ganeriwal, R. Kumar, M.B. Srivastava, Timing-sync protocol for sensor networks, in: Proceedings of the 1st International Conference on Embedded Networked Sensor Systems, SenSys ’03, ACM, New York, NY, USA, 2003, pp. 138–149. [28] J.R. Vig, Introduction to Quartz Frequency Standards, SLCET-TR 92-1, Army Research Laboratory, 1992. < vigtoc.htm>. [29] T. Weise, Global Optimization Algorithms – Theory and Application, second ed., 2008. <> (accessed 2012-06-17). [30] O. Cordón, A historical review of evolutionary learning methods for mamdanitype fuzzy rule-based systems: designing interpretable genetic fuzzy systems, Int. J. Approx. Reason. 52 (2011) 894–913. [31] N. Christofides, Graph Theory: An Algorithmic Approach (Computer Science and Applied Mathematics), Academic Press, Inc., Orlando, FL, USA, 1975. [32] J. Dunn, C. Martin, Terminology for frame relay benchmarking, in: Internet Informational RFC 3133, 2001. [33] P. Sun, W.K. Seah, P.W. Lee, Efficient data delivery with packet cloning for underwater sensor networks, in: Symposium on Underwater Technology and Workshop on Scientific Use of Submarine Cables and Related Technologies, 2007, pp. 34–41. [34] M. Caccamo, L.Y. Zhang, L. Sha, G. Buttazzo, An implicit prioritized access protocol for wireless sensor networks, in: RTSS ’02: Proceedings of the 23rd IEEE Real-Time Systems Symposium, IEEE Computer Society, 2002, p. 39. [35] G.J. Pottie, W.J. Kaiser, Wireless integrated network sensors, Commun. ACM 43 (2000) 51–58. [36] Crossbow, Micaz Datasheet, 2012. < Product_pdf_files/Wireless_pdf/MICAz_Datasheet.pdf> (accessed 06.11.12). [37] S. Mount, Dingo Wireless Sensor Networks Simulator, 2012. <http://> (accessed 12.03.12). [38] F2F, RFID From Farm to Fork, 2012. <> (accessed 23.10.12). Please cite this article in press as: M. Hammoudeh, R. Newman, Adaptive routing in wireless sensor networks: QoS optimisation for enhanced application performance, Informat. Fusion (2013),