<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s100505233</article-id>
<article-id pub-id-type="publisher-id">sensors-10-05233</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>NEURON: Enabling Autonomicity in Wireless Sensor Networks</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Zafeiropoulos</surname><given-names>Anastasios</given-names></name><xref ref-type="aff" rid="af1-sensors-10-05233"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-10-05233"><sup>2</sup></xref><xref ref-type="corresp" rid="c1-sensors-10-05233"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Gouvas</surname><given-names>Panagiotis</given-names></name><xref ref-type="aff" rid="af1-sensors-10-05233"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Liakopoulos</surname><given-names>Athanassios</given-names></name><xref ref-type="aff" rid="af2-sensors-10-05233"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Mentzas</surname><given-names>Gregoris</given-names></name><xref ref-type="aff" rid="af1-sensors-10-05233"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Mitrou</surname><given-names>Nikolas</given-names></name><xref ref-type="aff" rid="af1-sensors-10-05233"><sup>1</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-10-05233">
<label>1</label> National Technical University of Athens, Heroon Polytexneiou, 15773, Zografou, Greece; E-Mails: <email>pgouvas@mail.ntua.gr</email> (P.G.); <email>gmentzas@mail.ntua.gr</email> (G.M.); <email>mitrou@cs.ntua.gr</email> (N.M.)</aff>
<aff id="af2-sensors-10-05233">
<label>2</label> Greek Research and Technology Network, Av. Mesogion 56, 11527, Athens, Greece; E-Mail: <email>aliako@grnet.gr</email></aff>
<author-notes>
<corresp id="c1-sensors-10-05233">
<label>*</label> Author to whom correspondence should be addressed; E-Mail: <email>tzafeir@cn.ntua.gr</email>; Tel.: +30-210-7474255; Fax: +30-210-7474490.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2010</year></pub-date>
<pub-date pub-type="epub">
<day>25</day>
<month>5</month>
<year>2010</year></pub-date>
<volume>10</volume>
<issue>5</issue>
<fpage>5233</fpage>
<lpage>5262</lpage>
<history>
<date date-type="received">
<day>1</day>
<month>2</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>1</day>
<month>4</month>
<year>2010</year></date>
<date date-type="accepted">
<day>14</day>
<month>5</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2010 by the authors; license MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2010</copyright-year>
<license>
<p>This article is an Open Access article distributed under the terms and conditions of the Creative Commons Attribution license (<ext-link xlink:href="http://creativecommons.org/licenses/by/3.0/" ext-link-type="uri">http://creativecommons.org/licenses/by/3.0/</ext-link>).</p></license></permissions>
<abstract>
<p>Future Wireless Sensor Networks (WSNs) will be ubiquitous, large-scale networks interconnected with the existing IP infrastructure. Autonomic functionalities have to be designed in order to reduce the complexity of their operation and management, and support the dissemination of knowledge within a WSN. In this paper a novel protocol for energy efficient deployment, clustering and routing in WSNs is proposed that focuses on the incorporation of autonomic functionalities in the existing approaches. The design of the protocol facilitates the design of innovative applications and services that are based on overlay topologies created through cooperation among the sensor nodes.</p></abstract>
<kwd-group>
<kwd>wireless sensor network</kwd>
<kwd>autonomicity</kwd>
<kwd>energy efficiency</kwd>
<kwd>clustering</kwd>
<kwd>hierarchical routing</kwd>
<kwd>p2p</kwd>
<kwd>overlay</kwd>
<kwd>NEURON</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>In the last decade, there has been a great evolution in the sensor networking world. A vast amount of small, inexpensive, energy-efficient, and reliable sensors with wireless networking capabilities is available worldwide, increasing the number of sensor network deployments [<xref ref-type="bibr" rid="b1-sensors-10-05233">1</xref>,<xref ref-type="bibr" rid="b2-sensors-10-05233">2</xref>]. The adoption of IPv6, combined with the advanced networking capabilities of modern sensor nodes, enables the integration of sensor networks into the existing IP networking infrastructure [<xref ref-type="bibr" rid="b3-sensors-10-05233">3</xref>]. IPv6 provides a huge address space for networking purposes, while concurrently leading to the rapid development of many useful applications. Following these advancements, the vision of a World-Wide Sensor Web [<xref ref-type="bibr" rid="b4-sensors-10-05233">4</xref>] is becoming a reality, since the trend in next generation networks is to create fully interconnected infrastructures, consisting of many heterogeneous networks.</p>
<p>The transition to large scale wireless sensor networks (WSNs) increases the complexity in their operation and management and raises stability and scalability issues [<xref ref-type="bibr" rid="b5-sensors-10-05233">5</xref>]. This is due to the special requirements that are imposed from the sensor nodes and the characteristics of the WSNs. Battery limitations and the need for lifetime maximization make necessary the overall power consumption minimization during operation. Energy-efficient operation has to be realized taking in account the existence of heterogeneous sensor nodes with diverse computing and storage capabilities. Furthermore, the highly volatile and dynamic nature of WSN topologies—due to continuous nodes joins and leaves or mobility in the WSN field—requires the continuous intervention of the network administrator.</p>
<p>Self-organization mechanisms are proposed in order to reduce the complexity in the operation and management of WSNs. Considering the specific characteristics of such networks, the management of sensor infrastructures should be as autonomic as possible, <italic>i.e.</italic>, the wireless sensors should manage themselves with minimum or no human intervention [<xref ref-type="bibr" rid="b6-sensors-10-05233">6</xref>]. Autonomic functionalities have to be developed towards the sensor network evolution focusing on the introduction of functionality that will enable the provision of advanced services with low power consumption. Establishment of cooperation among nodes, ability to retrieve the current status of each sensor node, ubiquitous access to data and optimisation of the overall sensor network performance are examples of functionalities that facilitate the efficient operation of sensor nodes from the energy and performance perspective. By developing self-functionalities, autonomic monitoring will be realized, adaption to environmental changes will be supported and operational and management cost will be reduced.</p>
<p>A promising method to enable autonomicity in wireless heterogeneous environments is the adoption of decentralized schemes [<xref ref-type="bibr" rid="b5-sensors-10-05233">5</xref>,<xref ref-type="bibr" rid="b7-sensors-10-05233">7</xref>]. Centralized components make the system vulnerable in the sense that they are single points of failure. Furthermore the entire traffic load may be needed to be directed towards them, which is energy consuming, especially in dense networks [<xref ref-type="bibr" rid="b8-sensors-10-05233">8</xref>,<xref ref-type="bibr" rid="b9-sensors-10-05233">9</xref>]. On the contrary, decentralized schemes are fully scalable and achieve homogeneous load distribution. Current research efforts show that decentralization may be achieved through the exploitation of techniques that are applied in peer-to-peer (p2p) networks since relevant protocols rely on decentralized structures, such as Distributed Hash Tables (DHTs) [<xref ref-type="bibr" rid="b10-sensors-10-05233">10</xref>]. These techniques are based on the creation of an overlay topology and the implementation of specific mechanisms over it [<xref ref-type="bibr" rid="b4-sensors-10-05233">4</xref>]. P2p overlays may be formulated over sensor networks to eliminate the need for proxy support, to provide efficient data lookup, to limit broadcasts and to enable flexible access to the sensed data. However, the maintenance of an overlay topology is challenging in dynamic environments where nodes join or leave the network [<xref ref-type="bibr" rid="b11-sensors-10-05233">11</xref>,<xref ref-type="bibr" rid="b12-sensors-10-05233">12</xref>] and requires the exchange of a large number of messages among the participating nodes [<xref ref-type="bibr" rid="b13-sensors-10-05233">13</xref>].</p>
<p>The transition to an overlay approach for the WSN deployment, operation and management has to be combined with energy efficient techniques, such as clustering and hierarchical routing techniques [<xref ref-type="bibr" rid="b14-sensors-10-05233">14</xref>]. Nodes that are elected to operate as Cluster Heads (CHs) are involved mainly in routing and packet relaying functions while the rest nodes perform a minimum set of operations [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>]. Furthermore, the available routing information may be exploited from upper layer mechanisms and make them more efficient.</p>
<p>In this paper we propose NEURON, a novel protocol for autonomic deployment, cluster formulation and hierarchical routing in wireless sensor networks. NEURON combines the concepts of self-organization, decentralization and optimization in building networking infrastructure. The combination of these concepts is crucial, since it permits autonomic deployment and re-configuration of the network and supports the development of self-optimisation functionalities. Energy efficiency is achieved and network lifetime is extended through clustering and hierarchical routing mechanisms. NEURON does not make any assumptions for the location of the sensors, their capabilities and the roles that may undertake. It is designed in order to be stable and scalable and to facilitate the creation of overlay topologies in the sensor network by exploiting routing information stored in the nodes.</p>
<p>The paper is organized as follows. Section two briefly presents the related work on the field while section three describes in detail the proposed protocol and its mechanisms. Section four details how NEURON may facilitate the autonomic provision of advanced services in a WSN. Section five discuses the simulation results and section six concludes the paper with a short summary of our work and a presentation of open research issues and future work.</p></sec>
<sec>
<label>2.</label>
<title>Background—Related Work</title>
<sec sec-type="intro">
<label>2.1.</label>
<title>Autonomic Characteristics and IP Integration</title>
<p>Since a common technology is beneficial, the trend in the design and implementation of future networks is the integration of sensors with the existing IP networks. WSNs are usually considered as low-power, wireless personal area networks (LoWPANs). LoWPANs are poised to form the next tier of the Internet by connecting billion of sensor nodes to the Internet and using the existing computing infrastructure [<xref ref-type="bibr" rid="b3-sensors-10-05233">3</xref>,<xref ref-type="bibr" rid="b16-sensors-10-05233">16</xref>]. Extending IP to LoWPANs was once considered impractical [<xref ref-type="bibr" rid="b3-sensors-10-05233">3</xref>] due to the resource-intensive overhead imposed by IP communication to energy-constrained devices. In order to handle these issues, 6LoWPAN was introduced as an adaptation layer that enables efficient IPv6 communication over 802.15.4 links [<xref ref-type="bibr" rid="b3-sensors-10-05233">3</xref>].</p>
<p>The transition to IP is crucial since it enables the design and deployment of autonomic functionalities in WSNs. IP networking characteristics may be exploited by the network layer in order to be responsive and adaptive while remaining energy-efficient. The deployment of autonomic functionalities is helpful since the protocols and the techniques that are being developed for monitoring and management of WSNs should have minimal configuration, preferably work “out of the box”, be easy to bootstrap, and enable the network to self heal given the inherent unreliable characteristic of these devices. The basic autonomic functionalities that have to be supported by sensor nodes are [<xref ref-type="bibr" rid="b17-sensors-10-05233">17</xref>]:
<list list-type="bullet">
<list-item>
<p><italic>Self-configuration</italic>: change configuration parameters (e.g., data acquisition rate) according to the conditions in the sensor environment,</p></list-item>
<list-item>
<p><italic>Self-optimisation</italic>: fine-tune each sensor entity in order to achieve pre-determined goals, while low energy consumption and optimal quality of service have to be guaranteed based on corrective actions,</p></list-item>
<list-item>
<p><italic>Self-healing</italic>: detect system malfunctions or failures and start corrective actions based on defined policies and cooperation among neighbouring nodes to recover the network or a node,</p></list-item>
<list-item>
<p><italic>Self-protection</italic>: recognize possible sources of problems or threats in the sensor network and take proactive measures,</p></list-item>
<list-item>
<p><italic>Self-awareness</italic>: sense network changes in the sensor environment and be aware of the capabilities and the status of your neighbours.</p></list-item></list></p>
<p>Self-organizing systems completely rely on localized decision processes and nodes have to follow three basic methods in order to implement the desired behaviour; interact with other nodes in their neighbourhood, adapt their local state according to the conditions in their environment, and include probabilistic techniques in their decisions [<xref ref-type="bibr" rid="b5-sensors-10-05233">5</xref>,<xref ref-type="bibr" rid="b18-sensors-10-05233">18</xref>]. Based on the acquired knowledge, it is desirable that the initial sensor network configuration takes advantage of the underlying physical sensing and topological characteristics so as to assign responsibilities to nodes that are best suited to perform certain sensor network duties [<xref ref-type="bibr" rid="b19-sensors-10-05233">19</xref>]. This preliminary assignment of duties facilitates future reorganization of the network in order to easily adapt to any changes.</p>
<p>Taking into account these considerations, NEURON’s mechanisms are designed to operate in a fully autonomic manner. The network entities cooperate and exchange information based on the policies that are applied by these mechanisms. Thus, the sensor network may be self-configured and self-optimised, it supports self-awareness through proper dissemination of information and is able to react to possible failures.</p></sec>
<sec>
<label>2.2.</label>
<title>Clustering and Routing Algorithms for WSNs</title>
<p>Since energy efficiency is a crucial characteristic for the network lifetime in WSNs, it is necessary to design mechanisms that are not energy consuming. Several techniques have been proposed recently for energy efficient clustering and routing in WSNs. It has been proved that by using hierarchical (tiered) architectures, the network lifetime can be extended significantly [<xref ref-type="bibr" rid="b20-sensors-10-05233">20</xref>,<xref ref-type="bibr" rid="b21-sensors-10-05233">21</xref>]. A hierarchy may be created by using clustering mechanisms and hierarchical routing has to be selected.</p>
<p>Clustering has been proven to be energy-efficient since data routing and relaying are only operated by cluster heads (CHs) [<xref ref-type="bibr" rid="b22-sensors-10-05233">22</xref>]. CHs process, filter and aggregate data sent by cluster members, thus reducing network load and bandwidth utilisation. Besides, non-CH sensors are not involved in routing and relaying data and transmissions are only operated by CHs [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>]. During the clustering process, it is necessary to take into account aspects such as the cluster size and formation, criteria for CHs selection, how to control inter-cluster and intra-cluster collisions and energy saving issues [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>]. For the proper design of a clustering mechanism, multiple challenges have to be addressed. Clustering has to be efficient in terms of processing complexity and message exchanges and the clustering formulation technique has to be autonomic, i.e. each node takes decisions independently of the other nodes. The clustering process has to be completed within a bounded number of iterations and, after the clusters have been formulated, each node operates either as a CH or as a simple node. Furthermore, adequate distribution of CHs over the sensor field has to be accomplished [<xref ref-type="bibr" rid="b4-sensors-10-05233">4</xref>]. Finally, since CHs consume more energy in aggregating and routing data, it is essential to have an energy-efficient mechanism for CHs election and rotation [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>].</p>
<p>Hierarchical routing protocols have to be correlated with the clustering formulation mechanisms in order to reduce the routing messages exchanged and, thus, decrease energy consumption [<xref ref-type="bibr" rid="b14-sensors-10-05233">14</xref>]. These protocols are closely related to the clustering mechanism and usually support multi-hop communication, where each cluster member forwards its data to the CH and the CHs forwards the data to the gateways in the network. Since many of the proposed systems involve large networks, it is essential to provide routing infrastructures that concurrently offer small routing state and robustness [<xref ref-type="bibr" rid="b23-sensors-10-05233">23</xref>,<xref ref-type="bibr" rid="b24-sensors-10-05233">24</xref>]. Limiting routing states stored in the nodes is crucial for scalability and efficiency [<xref ref-type="bibr" rid="b25-sensors-10-05233">25</xref>] while robustness entails handling efficiently topology and connectivity changes due to node failures and environmental impact. Moreover, it is important to provide mechanisms that are able to handle heterogeneous nodes with diverse capabilities in the network [<xref ref-type="bibr" rid="b26-sensors-10-05233">26</xref>].</p>
<p>Energy-efficient clustering and routing algorithms for wireless sensor networks are presented in the literature [<xref ref-type="bibr" rid="b27-sensors-10-05233">27</xref>–<xref ref-type="bibr" rid="b29-sensors-10-05233">29</xref>]. Cluster formation is typically based on the energy reserve of sensors and sensor’s proximity to the CH [<xref ref-type="bibr" rid="b30-sensors-10-05233">30</xref>]. Low-Energy Adaptive Clustering Hierarchy (LEACH) [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>] was one of the first clustering algorithms proposed for sensor networks. LEACH is a distributed, proactive, dynamic algorithm that forms clusters of sensors based on the received signal strength and uses local CHs as routers to the sink. It includes randomized rotation of the high-energy cluster-head position, <italic>i.e.</italic>, delegate cluster-head functionality among the various sensors in order to preserve the battery of a single sensor. LEACH clustering terminates in a constant number of iterations but it does not guarantee good CH distribution and assumes uniform energy consumption for CHs. On the contrary, HEED [<xref ref-type="bibr" rid="b31-sensors-10-05233">31</xref>] makes no assumptions on energy consumption and achieves to select well-distributed CHs. However, it prerequisites that the nodes in the network are quasi-stationary and have equal capabilities. EDAC [<xref ref-type="bibr" rid="b32-sensors-10-05233">32</xref>] is an improvement of LEACH for heterogeneous environments that supports energy-driven CHs rotation and extends the node lifetimes, while LENO [<xref ref-type="bibr" rid="b33-sensors-10-05233">33</xref>] proposes a dynamic CH rotation algorithm that outperforms both LEACH and EDAC. PEGASIS [<xref ref-type="bibr" rid="b34-sensors-10-05233">34</xref>], LBCS [<xref ref-type="bibr" rid="b9-sensors-10-05233">9</xref>] and EECS [<xref ref-type="bibr" rid="b35-sensors-10-05233">35</xref>] are various enhancements of LEACH, where energy dissipation is balanced among sensor nodes under special conditions or assumptions. PEGASIS and LBCS assume that all nodes have location information about all other nodes, while EECS supposes that all nodes are stationary and uniformly dispersed within a sensor field. In all the above cases, the sensors are directly connected to their CHs. Furthermore, layered approaches exist such as SOHS [<xref ref-type="bibr" rid="b36-sensors-10-05233">36</xref>] and EECF [<xref ref-type="bibr" rid="b15-sensors-10-05233">15</xref>] in which sensors are organized into clusters creating a hierarchical topology and HMPR [<xref ref-type="bibr" rid="b37-sensors-10-05233">37</xref>] where the WSN is initially constructed as a layered network. These protocols necessitate the existence of fixed centralized nodes or fixed lifetimes and identifiers for the sensor nodes. Finally, TinyHop [<xref ref-type="bibr" rid="b38-sensors-10-05233">38</xref>] is proposed as a reactive routing protocol that aims to minimize the number of messages necessary to perform routing. Therefore, this protocol avoids the energy consuming periodic beacon messages generated by other proactive routing protocols. TinyHop may also be configured to limit the flooding of messages within the scope of the cluster. In our approach, the routing among the CHs is designed in a reactive manner, taking into consideration existing reactive protocols that are already designed for mobile <italic>ad hoc</italic> networks [<xref ref-type="bibr" rid="b39-sensors-10-05233">39</xref>] such as DSR [<xref ref-type="bibr" rid="b40-sensors-10-05233">40</xref>].</p>
<p>The NEURON protocol is designed as a new approach for providing autonomic and energy efficient clustering and routing in WSNs without assuming specific pre-conditions for the nodes functionality and their knowledge. As described in detail in Section 3, NEURON does not make any assumptions about the location of the sensors, their heterogeneity, their capabilities, the pre-definition of CHs or centralized nodes and their unique identifiers. This is achieved since the clustering and routing mechanisms are self-organized and are based on the awareness of the neighbouring environment of each node (<italic>self-awareness</italic>). Furthermore, in order to maximise network lifetime, the self-organization phase is designed in order to be short and energy efficient, characteristic that is not adequately addressed from the existing protocols [<xref ref-type="bibr" rid="b27-sensors-10-05233">27</xref>].</p></sec>
<sec>
<label>2.3.</label>
<title>Overlay Networking in WSNs and DHTs</title>
<p>Autonomic functionalities in sensor networks may be facilitated by the creation of virtual overlay topologies [<xref ref-type="bibr" rid="b41-sensors-10-05233">41</xref>]. The creation of p2p overlay topologies was proposed in order to treat the underlying heterogeneous WSNs as a single unified network, in which interacting sensors can exchange information (store and retrieve data) without considering the details of the infrastructure underneath. P2p protocols are selected since they rely on decentralized algorithms, such as Distributed Hash Tables (DHTs). P2p overlays over (traditional) sensor networks eliminate the need for centralized proxies and provide easy publication and search for the sensed data [<xref ref-type="bibr" rid="b4-sensors-10-05233">4</xref>]. They provide efficient data lookup, guarantees on lookup times and location independence. The overhead of building applications is distributed amongst participating nodes with no central point of failures and without global broadcasts [<xref ref-type="bibr" rid="b10-sensors-10-05233">10</xref>,<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>,<xref ref-type="bibr" rid="b43-sensors-10-05233">43</xref>].</p>
<p>Several approaches have been proposed for p2p overlay networking in sensor networks. In [<xref ref-type="bibr" rid="b44-sensors-10-05233">44</xref>], a DHT-based service discovery protocol that constructs topology- aware overlay networks in large-scale WSNs is proposed. In [<xref ref-type="bibr" rid="b4-sensors-10-05233">4</xref>], a Chord-based P2P protocol, called Tiered Chord (TChord) that can seamlessly integrate sensor networks with IP networks is described in detail. In [<xref ref-type="bibr" rid="b45-sensors-10-05233">45</xref>], CSN, a novel DHT based network protocol for sensor networks is proposed where bounded times for data lookup -in the order of O(logN) messages- may be achieved in an energy efficient manner. CSN follows a hierarchical clustering approach where each cluster is formed in a logical ring. CSN makes system lifetime of the sensor network proportional to its effective use and scales well to large-scale sensor networks.</p>
<p>However, a generic mapping of DHT based protocols to sensor networks is considered challenging for various reasons [<xref ref-type="bibr" rid="b45-sensors-10-05233">45</xref>]. These protocols interconnect nodes independently of their physical location and are not able to handle dynamic changes in the sensor network topology. In addition, they prerequisite the maintenance of routing information among all nodes and require unique identifiers for each node. Most of these challenges may be addressed given the existence of an overlay topology formulation and maintenance mechanism and its cooperation with the existing routing and clustering mechanisms.</p>
<p>Several algorithms have been proposed for overlay topology formulation and maintenance that range from gossiping techniques [<xref ref-type="bibr" rid="b46-sensors-10-05233">46</xref>] to exhaustive techniques [<xref ref-type="bibr" rid="b47-sensors-10-05233">47</xref>]. The common characteristic of these mechanisms is that they presume guaranteed communication among the network nodes. However their principles are diverse. Gossiping techniques attempt to identify the relative position of one node in the overlay topology by consulting adjacent nodes. Alternatively, exhaustive techniques attempt to pass through all nodes periodically in order to identify their relative position in the overlay topology. The topology formulation mechanism has to cooperate with the routing protocol due to the mentioned requisite that any two nodes be able to communicate.</p>
<p>In our approach, as described in detail in Section 4, we propose the exploitation of routing information that is maintained by NEURON via the overlay topology formulation mechanism. In NEURON, routing information is updated continuously in each node’s routing cache and may be consulted from upper layer mechanisms. Given the existence and maintenance of the overlay network, DHT functionality may be applied—using the 6LowPAN address of each sensor as its unique identifier—and advanced services may be provided in an autonomous manner.</p></sec></sec>
<sec>
<label>3.</label>
<title>Proposed Protocol</title>
<p>In this section we present the <bold><italic>N</italic></bold><italic>etwork bas</italic><bold><italic>E</italic></bold><italic>d a</italic><bold><italic>U</italic></bold><italic>tonomic cluste</italic><bold><italic>R</italic></bold><italic>ing and r</italic><bold><italic>O</italic></bold><italic>uti</italic><bold><italic>N</italic></bold><italic>g</italic> <bold><italic>(NEURON)</italic></bold> protocol, aiming to address challenges that are accrued from the current trends in the WSNs evolution and the existing approaches for efficient deployment, operation and maintenance of large in scale wireless sensor networks. NEURON is designed in order to achieve the following goals:
<list list-type="bullet">
<list-item>
<p><italic>Support autonomic functionalities in a WSN</italic>: sensors deployed in the sensor field, establish independently communication with their neighbours, become part of the WSN and gain access to the provided data and services without human intervention.</p></list-item>
<list-item>
<p><italic>Self-organize the nodes into clusters</italic>: clusters are self-formulated according to the current conditions in the network, while cluster heads rotation extends the network lifetime.</p></list-item>
<list-item>
<p><italic>Achieve fault tolerance and avoid dependence from specific purpose nodes</italic>: clusters are formulated automatically in case of failures, since each node may be elected as CH.</p></list-item>
<list-item>
<p><italic>Reduce energy consumption through hierarchical routing based on an overlay among the CHs</italic>: information about the current CHs is disseminated among the WSN and routing is provided through them.</p></list-item>
<list-item>
<p><italic>Achieve scalability by taking advantage of autonomicity, decentralization and probabilistic techniques</italic>: there is no performance degradation as the size of the sensor network increases.</p></list-item></list></p>
<p>It is important to note that NEURON does not make any assumptions for its operation. It may be applicable to heterogeneous environments, in which nodes with diverse computational and storage capabilities may be present. It does not require prior knowledge about location based information or the pre-assignment of specific roles in the sensor nodes. Its operation is based on the knowledge of network based parameters within the WSN that could be estimated in an autonomous manner by using an <italic>Autonomic Estimation Algorithm</italic>, as described in Section 3.1. NEURON may be effectively applied in static and dynamic topologies where nodes continuously join or leave the network or they are to some extent mobile. Furthermore, its clustering and routing mechanisms—as presented in Sections 3.2 and 3.3—make it energy efficient since they suppress the number of messages that are required for its operation and they support multi-hop communication.</p>
<sec>
<label>3.1.</label>
<title>Autonomic Estimation Algorithm</title>
<p>The knowledge of network-based parameters is crucial for achieving high efficiency and optimising mechanisms in a WSN. The estimation of such parameters is challenging in autonomic environments, especially when there is no information available at the initial deployment or after a topology change. For example, in case of clustering, the knowledge of the network density (<italic>i.e</italic>., the average number of single-hop neighbours of each sensor within the WSN) may facilitate the selection of the Hops-To-Live (HTL) parameter for flooding limitation within the WSN. When the density of the network is high the HTL parameter should be small and <italic>vice versa</italic>. Therefore, the knowledge of network-based parameters may impact the efficiency of the mechanisms applied in diverse WSN environments.</p>
<p>NEURON adapts its mechanisms based on network-wide parameters without presuming a priori knowledge of their values. An estimation of the parameters’ values is autonomously produced and updated regularly without imposing significant network overhead in terms of messages exchanged. The mechanism is activated in each sensor when the network bootstraps or the topology changes significantly. It has to converge in a short number of cycles and to be applicable to large scale WSNs. An autonomic mechanism is presented in this paper based on the principles of neighbour-based gossiping and specifically using averaging techniques based on neighbour-based gossiping [<xref ref-type="bibr" rid="b36-sensors-10-05233">36</xref>].</p>
<p>In NEURON, each node interacts with its neighbours in order to calculate the mean value of a parameter (<xref ref-type="table" rid="t1-sensors-10-05233">Table 1</xref>). Each node calculates its initial value for a parameter and sends this value to its neighbours. In parallel each node receives from its neighbours their calculation about this parameter. After each ‘cycle’ of mutual exchanges, each node revises its calculation using a weighting average:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">UpdatedValue</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">Value</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">from</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">Neighbour</mml:mi>
<mml:mo>_</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Value</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">from</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">Neighbour</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>n</mml:mi></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>When the updated value after the completion of a cycle differs less than a specified threshold from the previous one, the parameter is considered as converged on this node. In this case, the node, in the next cycle, sends its converged value along with a flag that indicates that the node considers the parameter-estimation as precise. Only when all messages that are received during a message-exchange-cycle contain this convergence flag, a node decides to stop broadcasting its current value about a parameter. This procedure is repeated periodically in order to calculate the updated values of the network parameters.</p>
<p>This technique presents many advantages since there are no preconditions during the network bootstrapping, the estimation is conducted in an <italic>ad hoc</italic> manner and the algorithm converges quickly, even for large scale networks, while communication overhead is kept low. The frequency of the periodic estimation mechanism is related to the application dynamicity. In NEURON, this technique is used for size and average density estimation. The knowledge of these parameters is indicative for the possible network topology scheme and facilitates the good distribution of cluster heads in the clustering mechanism, as we explain in detail in Section 3.2. However, the same technique may be used for the autonomic calculation of other parameters within the WSN (e.g., variance in the cluster sizes, available energy percentage).</p>
<p>For the density estimation, each sensor node calculates the number of its neighbours and thus the converged parameter is considered to be the average network density. For the size estimation, one or more predefined nodes in the network initialize the parameter <italic>Network_Size</italic> to 1 (at step 0) while the rest nodes initialize the parameter <italic>Network_Size</italic> to 0. When the averaging protocol converges, the estimated value is 1/(<italic>N</italic> · <italic>k</italic>) where <italic>N</italic> is the network size and <italic>k</italic> the number of nodes that initialized the parameter <italic>Network_Size</italic> to 1 [<xref ref-type="bibr" rid="b48-sensors-10-05233">48</xref>]. The following adaptation is proposed in NEURON in order to estimate the <italic>Network_Size</italic> autonomically (without the need to predefine specific nodes that initialize the parameter <italic>Network_Size</italic> to 1). All nodes have a random number generator and express their initiative to initialize their <italic>Network_Size</italic> parameter to 1 with a certain probability. We address this probability as <italic>P<sub>init</sub></italic>. The critical part of the adaptation is that all nodes respect the same probability. <italic>P<sub>init</sub></italic> varies from 0.1 to 0.3. When the <italic>Network_Size</italic> parameter converges the converged value is approximately 1/(<italic>N · P<sub>init</sub></italic>). By inversing the converged value, an approximation of the network size is available.</p>
<p>However, this adaptation provides a parameter’s estimation with some variance. In case that we desire to have more precise estimations, each node that chooses to initialize its <italic>Network_Size</italic> parameter to 1 has to accompany the broadcasted message with an additional field called <italic>SolicitatedGroup</italic>. In this field the MAC address of the node is placed. Each node maintains a cache that contains all the solicitated MACs and in parallel, during each exchange of messages, solicits the contents of its cache. Then, in addition to the convergence criteria that were formulated previously, each node is not meant to be converged if the number of MACs that exist in its cache is not equal to the number of MACs that are solicited by its neighbours. Following this adaptation the converged value is exactly (not approximately) [1/(<italic>N</italic> · <italic>NoMacs</italic>)] where <italic>NoMacs</italic> stands for the number of solicited MACs. The advantage of this adaptation is that it generates extremely precise results, albeit at the expense of a larger amount of messages exchanged until convergence is achieved.</p></sec>
<sec>
<label>3.2.</label>
<title>Cluster Formulation, Maintenance and Update</title>
<p>The cluster formulation mechanism in NEURON has a significant impact on the WSN from multiple perspectives. It improves the energy efficiency and facilitates the design and deployment of higher layer protocols and applications. Clusters are autonomously formulated, maintained and updated based on neighbour to neighbour communication among the sensor nodes. The <italic>Autonomic Estimation Algorithm</italic> provides information necessary for the optimisation of the CHs selection and distribution. Routing information acquired during the clustering process is stored in nodes’ local caches and used by the routing algorithm applied. Controlled flooding is also utilised in order to avoid traffic forwarding outside the cluster zone.</p>
<p>NEURON allows each node to become a CH according to specific criteria. A node that is selected as CH acts as a proxy for the rest of the members in its cluster. Each node may be in two states; either belonging to a cluster or being in the process of joining to a cluster. The clustering process starts only after the <italic>Autonomic Estimation Algorithm</italic> has been converged and, thus, the size <italic>N</italic> and density <italic>d</italic> of the WSN is estimated. Based on these two parameters, each node decides to become a CH with a probability <italic>P<sub>clust</sub></italic> given by the following equation:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">clust</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>log</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
<mml:mo>*</mml:mo>
<mml:mi>d</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>*</mml:mo>
<mml:mi mathvariant="italic">KPI</mml:mi></mml:mrow></mml:math></disp-formula>where:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">KPI</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>*</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">available</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">battery</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">total</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">battery</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo>*</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">available</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">memory</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">total</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="italic">memory</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>The Key Performance Indicator (KPI) in <xref ref-type="disp-formula" rid="FD1">Equation 1</xref> refers to the capabilities of each sensor. Nodes with better KPI present higher probability of becoming CHs and remaining in this status for a longer period of time until their resources are reduced significantly. In our case, the KPI is related with the available battery and memory of each node and is given in <xref ref-type="disp-formula" rid="FD2">Equation 2</xref>. These parameters were considered crucial for a sensor node deployment and operation in a WSN. However, any other parameter that better addresses application- specific requirements (for the KPI) may be selected.</p>
<p>According to <xref ref-type="disp-formula" rid="FD1">equation 1</xref>, a smaller number of CHs is expected to be elected in dense networks than in sparse ones. In addition, a higher number of CHs is anticipated in larger networks compared to smaller ones. <xref ref-type="disp-formula" rid="FD1">Equation 1</xref> was selected to cover a wide set of possible WSN topologies. However, if the network size or density is known <italic>a priori</italic>, more optimal possibilities <italic>P<sub>clust</sub></italic> may be selected.</p>
<p>The <italic>P<sub>clust</sub></italic> is updated regularly based on the current parameters <italic>N</italic> and <italic>d</italic> of the network. This allows NEURON to adapt to changes in the network topology or conditions and optimise the clustering formulation process. For example, in case of a node transitioning from a CH operation mode to normal operation mode, the nodes of the cluster decide to become CHs taking into consideration the latest estimations of the parameters <italic>N</italic> and <italic>d</italic>. In this case, if the average density is reduced, more than one CH may be elected. This process, combined with the cluster formulation update mechanism described in the next paragraph, facilitates the better distribution of CHs among the WSN and the extension in the network lifetime.</p>
<sec>
<title>Cluster Formulation, Maintenance and Update Mechanisms</title>
<p>Each CH is responsible for periodically broadcasting its existence utilizing a controlled flooding mechanism. According to this approach, at a certain time interval the CH broadcasts a <italic>MSolicitateCH</italic> message. This message contains its MAC address (which is also the group identifier), its updated KPI and an auto increment number that is used for cycle prevention. The goal for this solicitation message is threefold:
<list list-type="alpha-lower">
<list-item>
<p><italic>Cluster Formulation &amp; Maintenance</italic>: Upon the receipt of a <italic>MSolicitateCH</italic> message by a node not registered to a CH, a <italic>MRegisterNode2CH</italic> response message is send to the CH. The latter updates its routing cache and then the node automatically becomes a member of the broadcasted cluster. If the node belongs to the cluster controlled by the CH generating the message, the node forwards it to its neighbours. In addition, it stores the message to a local cache in order to avoid serving the same message again. Otherwise, if the node does not belong to the cluster controlled by the CH generating the message, the node belongs to the borderline between two clusters, as shown in <xref ref-type="fig" rid="f1-sensors-10-05233">Figure 1</xref>. In this case, the node does not forward the message to its neighbour but instead forwards it directly to its CH. This process is very critical as it prevents the unnecessary flooding out of the scope of a cluster and allows CHs to be aware of their neighbouring CHs. The routing information, collected to the CHs’ caches during the clusters formulation, facilitates the hierarchical routing mechanism, as discussed in Section 2.3. The cluster formulation and maintenance process is also shown in <xref ref-type="fig" rid="f2-sensors-10-05233">Figure 2</xref>.</p></list-item>
<list-item>
<p><italic>Routing Cache Maintenance:</italic> Each <italic>MSolicitateCH</italic> message—broadcasted by a CH and flooded within the cluster—contains a list of the MAC addresses of the nodes that have already forwarded it since each node that serves this message appends its MAC to this list (only once due to cycle preventive mechanism). This information allows cluster nodes to learn (or update) the shortest path towards their CH and store this information in their local routing cache.</p></list-item>
<list-item>
<p><italic>Cluster Formulation Update:</italic> The <italic>MSolicitateCH</italic> message allows nodes to be dynamically distributed among the existing clusters according to the CHs KPIs. In case that a node receives a <italic>MSolicitateCH</italic> message from a neighbouring CH, it compares the received KPI with the KPI of its current CH. When this comparison overcomes a specified threshold, the node unregisters from its current CH and registers to the new CH. These tasks are accomplished with the usage of a <italic>MRegisterNode2CH</italic> and <italic>MUnRegisterNodefromCH</italic> message, accordingly. This approach allows CHs to extend their lifetime since the load is re-distributed among the more powerful CHs.</p></list-item></list></p>
<p>The NEURON clustering mechanism allows the autonomic re-formulation of clusters and enables the adaptation of the clusters’ number and formation to the existing network conditions. This mechanism is initiated either because a CH decides to return to normal operation mode or because the CH leaves the network due to an unforeseen situation. In the first case, when the KPI of the CH passes below a specified threshold, the node stops to undertake the role of CH and a <italic>MSolicitateCHDOWN</italic> message is flooded within its cluster. Nodes update their routing cache and inform neighbouring CHs, provided that routing information for them is available in their routing cache. The re-clustering mechanism is then invoked and the cluster members decide to become a CH with the current probability <italic>P<sub>clust</sub></italic>. If no CH is elected, the nodes join a neighbouring cluster after receiving a neighbouring <italic>MSolicitateCH</italic> message. In the second case, if the <italic>MSolicitateCH</italic> message is not received within a period, the node updates the routing cache and initiates the re-clustering mechanism as previously (<xref ref-type="fig" rid="f3-sensors-10-05233">Figure 3</xref>). It should be noted that the CHs remove any entries from their routing cache related with neighbouring CHs if no relevant <italic>MSolicitateCH</italic> message is received within a specific period.</p></sec></sec>
<sec>
<label>3.3.</label>
<title>Hierarchical Routing</title>
<p>Routing and clustering mechanisms are interrelated in WSNs, both of them targeting to minimise energy consumption. It is desirable that packet forwarding and routing protocol overhead is distributed among all the sensor nodes according to their KPI values. This approach preserves scarce sensors recourses and, thus, extends the network lifetime.</p>
<p>Energy efficiency in NEURON is achieved by hierarchical reactive routing. Nodes are organized into a hierarchy of clusters based on network proximity to the CHs. There is no proactive mechanism to build and maintain a valid routing table as the network topology continuously evolves. In addition, routing mechanism takes advantage of the routing cache entries generated during the clustering process, as presented in Section 3.2.</p>
<p>The routing algorithm in NEURON presents similarities with the DSR routing protocol [<xref ref-type="bibr" rid="b40-sensors-10-05233">40</xref>]. NEURON adopts some mechanisms from DSR for communication among CHs, while intra-cluster communication is designed independently. A <italic>RouteRequest</italic> message is used for detecting a valid route to a destination node, in accordance to the DSR protocol. In NEURON, however, the <italic>RouteRequest</italic> message is not flooded but directly forwarded to the CH of the transmitting node. The exact path to the CH is known via the <italic>MSolicitateCH</italic> messages broadcasted by CHs in regular intervals.</p>
<p>When a node desires to establish communication with another node, it initially sends a <italic>RouteRequest</italic> message to its CH (<xref ref-type="fig" rid="f4-sensors-10-05233">Figure 4</xref>). The message contains the exact path towards the CH (source routing). If a node receives a <italic>RouteRequest</italic> message, it initially checks whether it operates as a CH. This is necessary because the election of new CHs is a dynamic process and thus new CHs may be present. If the node is not a CH, then it forwards the message to the next hop towards the CH according to the disseminated path from the initiator node. In case that a node along a path is unreachable, a <italic>RouteError</italic> message is generated and broadcasted within the scope of the cluster that contains the broken link. If the message is delivered to a CH during its path, the CH queries its local cache for the requested route towards the destination. If the valid entry is found, a <italic>RouteResponse</italic> message is sent to the initiating node. Otherwise, the CH forwards the <italic>RouteRequest</italic> message to its known CHs, exactly as routing is implemented in DSR. The CH of the destination node will directly reply to the initiator node with the correct end-to-end path (<xref ref-type="fig" rid="f5-sensors-10-05233">Figure 5</xref>).</p>
<p>When a route to a destination is known then a <italic>Message_Transfer</italic> message is initiated. This message contains the source node, the destination node, the route that must be followed in the WSN in order to reach the destination and a flag that informs the destination node whether it should respond with a confirmation (acknowledgement). The <italic>Message_Transfer</italic> message is used for transferring upper layer data, e.g., overlay topology formulation.</p></sec>
<sec>
<label>3.4.</label>
<title>Requirements from Sensor Node Platforms</title>
<p>No special requirements are imposed by NEURON in order to be applied to existing and next generation sensor motes. In NEURON, nodes may be identified according to their 6LoWPAN address while low power 802.15.4 radio may be used for communication among them. According to 6LowPAN, IEEE 802.15.4 devices may use either IEEE 64 bit extended addresses or 16 bit addresses that are unique within a Personal Area Network (PAN).</p>
<p>NEURON, as stated earlier, necessitates the storage of routing information in the routing cache of each node. This information regards the routes that are stored in each node during the cluster formulation and maintenance process. Considering that the maximum depth (distance in hops) from a CH is approximately five, the size of each routing entry in NEURON varies from 10 to 15 bytes (when nodes are indentified by their 16 bit addresses) or from 20 to 45 bytes (when nodes are indentified by their IEEE 64 bit extended addresses). Thus, in case of a routing cache with 1,000 units, the maximum memory that could be necessary is 45 kB (in case that all the routes are more than four hops) while in a realistic scenario 15 kB are sufficient, as also shown in Section 5.2.</p>
<p>Requirements for energy depend on the type of the sensor mote. However, the behaviour of NEURON regarding energy efficiency is presented in detail in Section 5. Finally, NEURON does not impose special processing requirements or constraints for the operating system used, since NEURON mechanisms perform simple functionalities that may be implemented in each operating system.</p></sec></sec>
<sec>
<label>4.</label>
<title>Service Provisioning Over NEURON</title>
<p>The creation of an overlay topology is beneficial for decentralized and autonomic service provisioning in WSNs. Multiple challenges, though, have been identified due to the dynamic network characteristics in such networks. P2p protocols may efficiently manage the sensors’ interconnections (as nodes continuously join or leave from the overlay network) or control the autonomic delegation of tasks among participating nodes [<xref ref-type="bibr" rid="b10-sensors-10-05233">10</xref>,<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>]. Addressing scalability and complexity challenges, though, is still a research issue [<xref ref-type="bibr" rid="b49-sensors-10-05233">49</xref>]. NEURON exhibits the necessary functionality to upper layer protocols in order to establish an overlay network while aims to address complexity and scalability issues. It also provides routing information to topology formulation mechanisms in order to improve their efficiency.</p>
<p>Several topology formulation algorithms have been proposed in the literature [<xref ref-type="bibr" rid="b41-sensors-10-05233">41</xref>,<xref ref-type="bibr" rid="b46-sensors-10-05233">46</xref>,<xref ref-type="bibr" rid="b47-sensors-10-05233">47</xref>]. The T-MAN algorithm was selected for investigating the advantages that NEURON may offer to the overlay topology formulation mechanisms due to the faster convergence capabilities of T-MAN compared to other alternatives for the creation of an overlay topology [<xref ref-type="bibr" rid="b50-sensors-10-05233">50</xref>]. T-MAN allows communications with any node in the overlay network contrary to other gossiping protocols that permit communications with only the one-hop-away neighbours (refer to Section 3.1). The latter approach increases routing overhead as one node has to identify a proper route prior to attempt to communicate with another node in the overlay network. In T-MAN, each node aims to identify its successor in the overlay topology based on the knowledge that acquires through the exchange of views with its neighbours. Scoring functions are applied for the selection of the successor of each node and the results are stored in a buffer. The scoring function affects the formation of the overlay network topology. In our case, a ring topology is formulated since Chord [<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>] was selected as a p2p protocol for the provision of storage and retrieval functionality over the created overlay network. Chord pre-assumes that nodes are ordered in a ring and are aware of their successor and predecessor in the overlay ring topology. However, any other topology may be also created based on the selected p2p protocol.</p>
<p>T-MAN applies a gossiping technique [<xref ref-type="bibr" rid="b50-sensors-10-05233">50</xref>] in order to indentify the relative position in the overlay (<xref ref-type="table" rid="t2-sensors-10-05233">Table 2</xref>). Each node maintains a view with the nodes that are—up to a specific time—known and scored. Each node periodically communicates with the “closest” node and exchange views with it (<xref ref-type="fig" rid="f6-sensors-10-05233">Figure 6a,b</xref>). After this mutual exchange, nodes re-evaluate their views (<xref ref-type="fig" rid="f6-sensors-10-05233">Figure 6c,d</xref>). This iterative procedure leads to extremely fast convergence, <italic>i.e</italic>., the state in which each node knows its successor. Any further exchange of messages between the nodes does not improve the accuracy of their views (<xref ref-type="fig" rid="f6-sensors-10-05233">Figure 6e</xref>).</p>
<p>The T-MAN algorithm is adapted in order to exploit information available through the NEURON mechanisms and thus minimize the messages that are necessary for convergence of the protocol in a WSN. Two improvements have been integrated to the T-MAN algorithm. Firstly, each node, before sending its buffer to a requestor, updates the buffer with nodes that score better than the existing ones by consulting its routing cache. Secondly, multiple messages are sent to any node in the buffer instead of sending one message to the first node of the buffer (i.e. the node that scores better). This facilitates the fast dissemination of information regarding the network topology which is critical in dynamic networks. These two adaptations reduce the total amount of messages required for overlay topology formulation, as shown in <xref ref-type="fig" rid="f7-sensors-10-05233">Figure 7</xref>.</p>
<p>After the overlay network is established, participating nodes are able to store and retrieve data using typical p2p protocols. Every node that aims to access the p2p network storage (<italic>i.e</italic>., to store a key/value pair or query a value based on a key) may use a Distributed Hash Table (DHT) [<xref ref-type="bibr" rid="b51-sensors-10-05233">51</xref>] that operates on-top of the overlay topology. In our simulation experiments, Chord [<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>] was selected for integrating DHT functionality. Chord is an efficient distributed lookup system based on consistent hashing. Its only operation is to map a key to a responsible node. Chord scales well with a number of nodes and, thus, it can be applicable to large networks. It continues to function correctly even if the system undergoes major changes or if the routing information is partially correct [<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>].</p>
<p>Advanced services may be built using two API functions <italic>put(key,value)</italic> and <italic>get(key),</italic> which interact directly with the DHT protocol (<xref ref-type="fig" rid="f8-sensors-10-05233">Figure 8</xref>). For instance, a distributed storage system handling environmental monitoring data may be built by using common hashing functions and predefined keys [<xref ref-type="bibr" rid="b42-sensors-10-05233">42</xref>]. Environmental data is consequently available for retrieval and further processing by all network nodes. The provided services could be decentralized as data and necessary functionality is allocated in multiple nodes at the overlay network. If necessary, some critical functions may be delegated to more than one nodes for improving reliability. In case of network changes or node failures, roles may be re-assigned autonomously and performance guarantees may be assured for the services provision.</p></sec>
<sec>
<label>5.</label>
<title>Experimental Evaluation</title>
<p>In this section the performance of NEURON for a wide set of topologies is evaluated. NEURON has been developed in the Peersim simulator [<xref ref-type="bibr" rid="b52-sensors-10-05233">52</xref>]. A visualisation module is also developed as a Peersim extension that provides a view of the clusters with their CHs that are formulated in the WSN at each cycle period of the simulation. In order to simulate the limited resources of the participant nodes of the WSN, a custom dynamic model is incorporated that imposes penalties according to the nodes operations.</p>
<p>In the simulations multiple nodes are simultaneously activated without any preconfigured state information. Each simulation lasts 2,000 cycles, while every node is initialized with 100,000 battery units and 1,000 routing cache memory units. Battery and memory penalties are defined for serving each message in the network. Each entry in the routing cache occupies one memory unit, each packet transmission or reception drains the available battery by three units, while each packet processing action (e.g., protocol encapsulation) that is accomplished by a node drains the battery by one unit. The periodic broadcasting of <italic>MSolicitateCH</italic> messages is set to five cycles, the KPI threshold (refer to Section 3.2) for transition to a new CH is set to two, and the threshold where a CH switches to normal mode (refer to Section 3.2) is set to 50%. All the nodes are considered with equal battery and memory capabilities at their initial deployment. The number of nodes varies from 50 to 12,800 while the density varies from three to 36.</p>
<p>The performance of each mechanism is assessed using multiple criteria, such as messages exchanged for the operation in steady state, convergence capability, precision in the estimation of parameters, behaviour of the probabilistic techniques, energy efficiency and quality of distribution of CHs in diverse network sizes and densities. Simulation results that are related with the creation of the overlay network and NEURON’s suitability for deployment of advanced services in the WSN are also presented. Each simulation is executed five times and average values are considered in our analysis.</p>
<sec>
<label>5.1.</label>
<title>Evaluation of the Autonomic Estimation Algorithm</title>
<p>The <italic>Autonomic Estimation Algorithm,</italic> aiming to estimate two network parameters, is activated right after the sensor nodes become operational. In each node, the algorithm converges if the estimated parameters’ values between two consecutive cycles is less than 5%.</p>
<p><xref ref-type="fig" rid="f9-sensors-10-05233">Figure 9(a)</xref> shows the number of messages that are exchanged until the algorithm converges to the estimation of the density and the size parameter for various sizes and densities. <xref ref-type="fig" rid="f9-sensors-10-05233">Figure 9(b)</xref> shows how these messages are distributed between nodes. There is a linear relationship between the total number of messages exchanged and the network size. It derives that the algorithm convergences without imposing significant overhead since the average number of messages per node remains small and stable even for large-scale networks. The autonomic estimation process may be repeated periodically in predefined number of cycles, related with the dynamicity that is present in the WSN.</p>
<p><xref ref-type="fig" rid="f10-sensors-10-05233">Figure 10</xref> presents the cycles that are necessary for the algorithm to converge. Stable behaviour is achieved for each network density independently from the network size. The algorithm converges in less than 20 cycles in sparse networks and in less than 10 cycles in dense networks, independently of the network size. In dense networks, convergence is faster since more messages are exchanged at each cycle.</p>
<p>The <italic>Autonomic Estimation Algorithm</italic> achieves adequate precision for the estimation of the network parameters, as presented in <xref ref-type="fig" rid="f11-sensors-10-05233">Figure 11(a)</xref> for the density estimation and <xref ref-type="fig" rid="f11-sensors-10-05233">Figure 11(b)</xref> for the size estimation. For the density estimation, the deviation from the real values is less than 9% in all cases and remains approximately constant for a given network density. For the size estimation, the deviation is less than 20% for sparse networks and less than 10% in dense networks. In both cases, higher precision is noticed in dense networks since averaging is performed between multiple neighbours in each cycle.</p></sec>
<sec>
<label>5.2.</label>
<title>Clustering and Routing Mechanism Evaluation</title>
<p>A visualisation module is developed for the dynamic illustration of the clustering process and the distribution of the CHs within the WSN. It is noticed that the clusters’ distribution improves (qualitative metric) over time since the probabilistic techniques used tend to homogenize the size and form of the created clusters and thus distribute the clustering overhead among the elected CHs. Two indicative screenshots are presented in <xref ref-type="fig" rid="f12-sensors-10-05233">Figure 12</xref> where clusters are distinguished.</p>
<p>In <xref ref-type="fig" rid="f13-sensors-10-05233">Figure 13</xref>, the comparison of the number of CHs that are elected in the simulation environment with the theoretical ones according to the <italic>P<sub>clust</sub></italic> (refer to <xref ref-type="disp-formula" rid="FD1">Equation 1</xref>) is shown. As it is expected, the theoretical and simulation results are closely related.</p>
<p>An important characteristic for the optimisation of the clustering process is the adaptation of the clusters’ size according to the changes in the network topology. In cases of more dense networks, it is desirable the creation of larger (in size) clusters since nodes are close (in number of hops) to each other. The existence of less CHs with small distances from their members improves the energy efficiency of the WSN (refer also to Section 5.3). In <xref ref-type="fig" rid="f14-sensors-10-05233">Figures 14(a)–(c)</xref>, the average size of the clusters that are created is presented for fixed and variable probability (refer to <xref ref-type="disp-formula" rid="FD1">Equation 1</xref>). In the latter case, the trend is the creation of larger in size clusters in dense networks in opposition to the first case where the cluster size remains stable. Self-optimisation of the clustering process is therefore achieved. However, more optimal equation for the <italic>P<sub>clust</sub></italic> probability may be selected, in case that smaller clusters are desirable in dense networks. Furthermore, great variation is present in small-scale networks (<xref ref-type="fig" rid="f14-sensors-10-05233">Figure 14(c)</xref>) due to the impact that has the probability in the cluster size, as the number of the elected CHs significantly affects the average cluster size. This variation is decreased as the period that NEURON is applied in the WSN increases since probabilistic techniques follow an optimal behaviour.</p>
<p>The average number of route entries that are stored on each node’s routing cache after the cluster formulation process is shown in <xref ref-type="fig" rid="f15-sensors-10-05233">Figure 15</xref>. This number is critical since sensor nodes may present memory constraints. <italic>P<sub>clust</sub></italic> is variable according to <xref ref-type="disp-formula" rid="FD1">Equation 1</xref>. It is shown that the number of route entries increases slightly as the size and the density of the network increases. However, this number remains bounded, even for large networks. In sparse networks, an average routing cache has 50 entries, while in dense networks an average routing cache with 150 entries is needed. Since the maximum size of a routing entry is 45 bytes (refer to Section 3.4), 15kB of routing cache size is adequate for all the sensor nodes.</p>
<p>In addition to the number of route entries, a qualitative metric is the percentage of the total route entries that exists in the CH’s routing caches since these entries are used from the routing functionality in NEURON. This metric is depicted in <xref ref-type="fig" rid="f16-sensors-10-05233">Figures 16(a)–(c)</xref> for fixed and variable probability. As the number of CHs increases in the network, the percentage of the total routing entries that exist in their routing caches also increases. This is shown in <xref ref-type="fig" rid="f16-sensors-10-05233">Figures 16(a,b)</xref>, where the selection of larger value for the stable probability results to higher percentages of routing cache entries in the CHs. When this percentage is smaller, intra-cluster communication is facilitated since the nodes that are not CHs have available routes for other nodes within the cluster and do not need to communicate with their CH for establishing a route towards them. This percentage is smaller for dense networks due to the greater overlapping among the cluster zones and the existence of multiple paths toward a CH. Nodes in the overlapping regions store routing entries towards more than one CH. The percentage also increases as the size of the network increases while when a variable probability is used (<xref ref-type="fig" rid="f16-sensors-10-05233">Figure 16(c)</xref>), the percentage is small for dense networks and large for sparse networks.</p>
<p>In <xref ref-type="fig" rid="f17-sensors-10-05233">Figure 17(a)</xref>, the total number of routing messages that are exchanged until the clustering formulation is completed is presented, while in <xref ref-type="fig" rid="f17-sensors-10-05233">Figure 17(b)</xref>, the same number per node in the WSN is shown. More routing messages are exchanged in dense networks, due to the nature of the controlled flooding mechanism that has been adopted from the <italic>MSolicitateCH</italic> message. Although cluster formulation messages are confined and cycle-prevented as discussed earlier, the existence of multiple connections for each node creates an analogous routing overhead that is avoided in sparse networks. Furthermore, in <xref ref-type="fig" rid="f17-sensors-10-05233">Figure 17(b)</xref> it is shown that the clustering formulation mechanism is scalable since the number of messages per node for different densities remain either stable or slightly increases as the network size increases.</p>
<p>Upon completion of the clustering process, routing functionality exploits the available information in the routing caches of the sensor nodes. In <xref ref-type="fig" rid="f18-sensors-10-05233">Figures 18(a)</xref> and <xref ref-type="fig" rid="f18-sensors-10-05233">18(b)</xref> the total number of <italic>RouteRequest</italic> and <italic>RouteResponse</italic> messages that are exchanged in order a node to identify a valid route, are depicted. The number of the generated <italic>RouteRequest</italic> and <italic>RouteResponse</italic> messages is radically reduced as the network density increases since more routing information is already available in the nodes. Thus, NEURON’s scalability is addressed as the routing overhead (in number of messages) is considered low.</p></sec>
<sec>
<label>5.3.</label>
<title>Energy Efficiency in NEURON</title>
<p>Simulations are performed in order to assess the energy efficiency of NEURON mechanisms and their impact to the network lifetime. Network lifetime refers to the time period where all the nodes of the network (or a very high percentage of them) are operational. The network size is set to 1,000 while the initial energy of each node is set to 100,000 units. Simulations are terminated when the existing WSN is split into two or more isolated groups as nodes leave the WSN when their battery is exhausted.</p>
<p>In <xref ref-type="fig" rid="f19-sensors-10-05233">Figure 19(a)</xref>, the number of nodes that are alive while the number of cycles increases is shown for fixed and variable probability and different densities. The threshold where a CH switches to normal mode—when the KPI of the CH goes below it—is set to 50%. It is noticed that the network tends to extend its network lifetime as the number of alive nodes reduces steeply after a certain number of cycles. This means that the available power of the sensor nodes is almost the same and thus they run out of power in a few cycles. Furthermore, it is shown that the network lifetime is longer in the case of applying the variable probability and in case of more sparse networks. This is reasonable since fewer messages have to be exchanged in sparse networks for cluster formulation and maintenance. In <xref ref-type="fig" rid="f19-sensors-10-05233">Figure 19(b)</xref>, the residual energy in the network is shown. The threshold where a CH switches to normal mode is set to 50% and 75% while the density is set to 15 and 30, respectively. The residual energy is higher in case of sparse networks and in the case where the threshold is set to 50%. A high threshold reduces the rotation in the CHs in the WSN and causes high energy consumption in each CH, causing them to run out of energy earlier than the other nodes. In this case, therefore, energy consumption is not homogeneously distributed among the sensor nodes. In <xref ref-type="fig" rid="f19-sensors-10-05233">Figure 19(c)</xref>, the consumed energy is depicted in case of the fixed and the variable probability, while the density is set to 15 and the threshold where a CH transits to normal mode is set to 50%. It is clear that the application of the autonomic mechanism in the election of clusters is more energy efficient compared to the application of a stable probability.</p></sec>
<sec>
<label>5.4.</label>
<title>Topology Formulation Mechanism Evaluation</title>
<p>As described in Section 4, the NEURON protocol facilitates the creation of an overlay topology and consequently the deployment and provision of autonomic services over it. In order to show NEURON’s suitability for this purpose, we compare the messages that are generated for the overlay topology formulation using DSR [<xref ref-type="bibr" rid="b40-sensors-10-05233">40</xref>], <italic>i.e.</italic>, another reactive routing protocol. In <xref ref-type="fig" rid="f20-sensors-10-05233">Figure 20</xref>, it is shown that the logarithmic behaviour of routing cost in DSR imposes extreme overhead to the network in comparison to NEURON. Furthermore, this overhead is much greater in dense networks.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>NEURON, an innovative protocol for autonomic clustering and routing in wireless sensor networks, is presented in this paper. Self-configuration and self-optimisation properties are supported by the proposed set of mechanisms. The use of probabilistic techniques combined with decentralized approaches and cooperation among nodes for dissemination of useful information provide reliability, robustness, energy efficiency and scalability in NEURON’s mechanisms. In addition to the deployment of autonomic functionalities within the WSN, NEURON facilitates the creation of overlay topologies over the WSN, without imposing significant overhead. Overlay networks may be proven extremely useful for the development of advanced services in the sensor networking world, taking into consideration the vision for a World-Wide Sensor Web.</p>
<p>The behaviour of the protocol is evaluated according to a wide set of simulations. It could be argued that NEURON behaves well for autonomic setup and maintenance of clusters while information from network-based estimation techniques may be used for optimisation purposes. Routing information collected during the clustering process proves to be valuable since the number of messages that have to be exchanged for communication among the sensor nodes is reduced. NEURON does not impose severe requirements for memory usage in the sensor nodes and achieves significant extension to the network lifetime through the rotation of CHs in the WSN field.</p>
<p>In our future work, each of the fundamental mechanisms of the NEURON protocol will be compared with other existing protocol’s mechanisms. The behaviour of the described probabilistic techniques will be studied in detail, and possible optimisations may be proposed for diverse network topologies. Furthermore, the performance of some indicative services provided over the overlay network will be examined. Finally, the efficiency of mechanisms that create topology-aware overlay networks over NEURON will be studied.</p></sec></body>
<back>
<ack>
<p>This publication is based on work partially performed within the framework of the European Commission ICT/FP7 EFIPSANS project (<ext-link xlink:href="www.efipsans.org" ext-link-type="uri">www.efipsans.org</ext-link>).</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-10-05233"><label>1.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Brasche</surname><given-names>G.</given-names></name></person-group><article-title>Trends and Challenges of Wireless Sensor Networks</article-title><conf-name>Proceedings of the Eighth International Workshop on Applications and Services in Wireless Networks</conf-name><conf-loc>Kassel, Germany</conf-loc><conf-date>October 26–30, 2008</conf-date><fpage>7</fpage></citation></ref>
<ref id="b2-sensors-10-05233"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Rajeev</surname><given-names>S.</given-names></name><name><surname>Ananda</surname><given-names>A.</given-names></name><name><surname>Choon</surname><given-names>C.M.</given-names></name><name><surname>Tsang</surname><given-names>O.W.</given-names></name></person-group><source>Mobile, Wireless, and Sensor Networks—Technology, Applications, and Future Directions</source><publisher-name>John Wiley &amp; Sons</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2006</year></citation></ref>
<ref id="b3-sensors-10-05233"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hui</surname><given-names>J.W.</given-names></name><name><surname>Culler</surname><given-names>D.E.</given-names></name></person-group><article-title>Extending IP to Low-Power, Wireless Personal Area Networks</article-title><source>IEEE Internet Comput</source><year>2008</year><volume>12</volume><fpage>37</fpage><lpage>45</lpage></citation></ref>
<ref id="b4-sensors-10-05233"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ali</surname><given-names>M.</given-names></name><name><surname>Langendoen</surname><given-names>Z.K.</given-names></name></person-group><article-title>A Case for Peer-to-Peer Network Overlays in Sensor Networks</article-title><conf-name>Proceedings of the Workshop on Wireless Sensor Network</conf-name><conf-loc>Delft, The Netherlands</conf-loc><conf-date>January 2007</conf-date></citation></ref>
<ref id="b5-sensors-10-05233"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dressler</surname><given-names>F.</given-names></name></person-group><article-title>A Study of Self-Organization Mechanisms in <italic>Ad Hoc</italic> and Sensor Networks</article-title><source>Comput. Commun</source><year>2008</year><volume>31</volume><fpage>3018</fpage><lpage>3029</lpage><pub-id pub-id-type="doi">10.1016/j.comcom.2008.02.001</pub-id></citation></ref>
<ref id="b6-sensors-10-05233"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mills</surname><given-names>K.L.</given-names></name></person-group><article-title>A Brief Survey of Self-Organization in Wireless Sensor Networks</article-title><source>Wireless Commun. Mob. Comput</source><year>2007</year><volume>7</volume><fpage>823</fpage><lpage>834</lpage><pub-id pub-id-type="doi">10.1002/wcm.499</pub-id></citation></ref>
<ref id="b7-sensors-10-05233"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Diaz</surname><given-names>G.</given-names></name></person-group><article-title>Autonomic Networks and Management of Dynamic Services Deployment—A Study of Approaches by Using Overlay Networks</article-title><conf-name>Proceedings of the IEEE Global Telecommunications Conference</conf-name><conf-loc>New Orleans, LA, USA</conf-loc><conf-date>December 2008</conf-date></citation></ref>
<ref id="b8-sensors-10-05233"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chatterjea</surname><given-names>S.</given-names></name><name><surname>Nieberg</surname><given-names>T.</given-names></name><name><surname>Meratnia</surname><given-names>N.</given-names></name><name><surname>Havinga</surname><given-names>P.</given-names></name></person-group><article-title>A Distributed and Self-Organizing Scheduling Algorithm for Energy-Efficient Data Aggregation in Wireless Sensor Networks</article-title><source>ACM Trans. Sen. Netw</source><year>2008</year><volume>4</volume><fpage>1</fpage><lpage>41</lpage></citation></ref>
<ref id="b9-sensors-10-05233"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jin</surname><given-names>S.</given-names></name><name><surname>Li</surname><given-names>K.</given-names></name></person-group><article-title>LBCS: A Load Balanced Clustering Scheme in Wireless Sensor Networks</article-title><conf-name>Proceedings of the Third International Conference on the Multimedia and Ubiquitous Engineering</conf-name><conf-loc>Qingdao, Shandong, China</conf-loc><conf-date>June 2009</conf-date><fpage>221</fpage><lpage>225</lpage></citation></ref>
<ref id="b10-sensors-10-05233"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lua</surname><given-names>E.K.</given-names></name><name><surname>Crowcroft</surname><given-names>J.</given-names></name><name><surname>Pias</surname><given-names>M.</given-names></name><name><surname>Sharma</surname><given-names>R.</given-names></name><name><surname>Lim</surname><given-names>S.</given-names></name></person-group><article-title>A Survey and Comparison of Peer-to-Peer Overlay Network Schemes</article-title><source>IEEE Commun. Surv. Tutorials</source><year>2005</year><volume>7</volume><fpage>72</fpage><lpage>93</lpage><pub-id pub-id-type="doi">10.1109/COMST.2005.1610546</pub-id></citation></ref>
<ref id="b11-sensors-10-05233"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Biskupski</surname><given-names>B.</given-names></name><name><surname>Dowling</surname><given-names>J.</given-names></name><name><surname>Sacha</surname><given-names>J.</given-names></name></person-group><article-title>Properties and Mechanisms of Self-Organising MANET and P2P Systems</article-title><source>ACM Trans. Auton. Adapt. Syst</source><year>2007</year><volume>2</volume><fpage>1</fpage><lpage>34</lpage><pub-id pub-id-type="doi">10.1145/1216895.1216896</pub-id></citation></ref>
<ref id="b12-sensors-10-05233"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hora</surname><given-names>D.N.</given-names></name><name><surname>Macedo</surname><given-names>D.F.</given-names></name><name><surname>Oliveira</surname><given-names>L.B.</given-names></name><name><surname>Siqueira</surname><given-names>I.G.</given-names></name><name><surname>Loureiro</surname><given-names>A.A.</given-names></name><name><surname>Nogueira</surname><given-names>J.M.</given-names></name><name><surname>Pujolle</surname><given-names>G.</given-names></name></person-group><article-title>Enhancing Peer-to-Peer Content Discovery Techniques Over Mobile <italic>Ad Hoc Netw</italic></article-title><source>Comput. Commun</source><year>2009</year><volume>32</volume><fpage>1445</fpage><lpage>1459</lpage><pub-id pub-id-type="doi">10.1016/j.comcom.2009.04.005</pub-id></citation></ref>
<ref id="b13-sensors-10-05233"><label>13.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Hu</surname><given-names>Y.C.</given-names></name><name><surname>Das</surname><given-names>S.M.</given-names></name><name><surname>Pucha</surname><given-names>H.</given-names></name></person-group><article-title>Peer-to-Peer Overlay Abstractions in Manets</article-title><source><italic>Theoretical and Algorithmic Aspects of Sensor</italic>, Ad Hoc <italic>Wireless and Peer-to-Peer Networks</italic></source><publisher-name>CRC Press</publisher-name><publisher-loc>Boca Raton, FL, USA</publisher-loc><year>2005</year></citation></ref>
<ref id="b14-sensors-10-05233"><label>14.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hu</surname><given-names>Y.</given-names></name><name><surname>Li</surname><given-names>W.</given-names></name><name><surname>Kang</surname><given-names>Z.</given-names></name></person-group><article-title>Study on Energy Efficient Hierarchical Routing Protocols of Wireless Sensor Network</article-title><conf-name>Proceedings of the International Conference on Information Engineering</conf-name><conf-loc>Taiyuan, Shanxi, China</conf-loc><conf-date>July 2009</conf-date><fpage>325</fpage><lpage>328</lpage></citation></ref>
<ref id="b15-sensors-10-05233"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Chamam</surname><given-names>A.</given-names></name><name><surname>Pierre</surname><given-names>S.</given-names></name></person-group><article-title>A Distributed Energy-Efficient Cluster Formation Protocol for Wireless Sensor Networks</article-title><conf-name>Proceedings of the 6th IEEE Conference on Consumer Communications and Networking Conference</conf-name><conf-loc>Las Vegas, NV, USA</conf-loc><conf-date>January 2009</conf-date></citation></ref>
<ref id="b16-sensors-10-05233"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chaudhry</surname><given-names>S.A.</given-names></name><name><surname>Jung</surname><given-names>W.D.</given-names></name><name><surname>Akbar</surname><given-names>A.</given-names></name><name><surname>Kim</surname><given-names>K.H.</given-names></name></person-group><article-title>Proxy-Based Service Discovery and Network Selection in 6LoWPAN</article-title><source>Lect. Notes Comput. Sci</source><year>2006</year><volume>4208</volume><fpage>525</fpage><lpage>534</lpage></citation></ref>
<ref id="b17-sensors-10-05233"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marsh</surname><given-names>D.</given-names></name><name><surname>Tynan</surname><given-names>R.</given-names></name><name><surname>O’Kane</surname><given-names>D.</given-names></name><name><surname>O’Hare</surname><given-names>G.M.P.</given-names></name></person-group><article-title>Autonomic Wireless Sensor Networks</article-title><source>Eng. Appl. Artif. Intell</source><year>2004</year><volume>17</volume><fpage>741</fpage><lpage>748</lpage><pub-id pub-id-type="doi">10.1016/j.engappai.2004.08.038</pub-id></citation></ref>
<ref id="b18-sensors-10-05233"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rabiner</surname><given-names>W.</given-names></name><name><surname>Chandrakasan</surname><given-names>A.</given-names></name><name><surname>Balakrishnan</surname><given-names>H.</given-names></name></person-group><article-title>Energy-Efficient Communication Protocol for Wireless Microsensor Networks</article-title><conf-name>Proceedings of the IEEE International Conference on System Sciences</conf-name><conf-loc>Maui, HI, USA</conf-loc><conf-date>January 4–7, 2000</conf-date></citation></ref>
<ref id="b19-sensors-10-05233"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kochhal</surname><given-names>M.</given-names></name><name><surname>Schwiebert</surname><given-names>L.</given-names></name><name><surname>Gupta</surname><given-names>S.</given-names></name></person-group><article-title>Role-based Hierarchical Self Organization for Wireless <italic>Ad hoc</italic> Sensor Networks</article-title><conf-name>Proceedings of the 2nd ACM International Conference on Wireless Sensor Networks and Applications</conf-name><publisher-name>ACM Press</publisher-name><publisher-loc>San Diego, CA, USA</publisher-loc><year>2003</year><fpage>98</fpage><lpage>107</lpage></citation></ref>
<ref id="b20-sensors-10-05233"><label>20.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Estrin</surname><given-names>D.</given-names></name><name><surname>Girod</surname><given-names>L.</given-names></name><name><surname>Pottie</surname><given-names>G.</given-names></name><name><surname>Srivastava</surname><given-names>M.</given-names></name></person-group><article-title>Instrumenting the World with Wireless Sensor Networks</article-title><conf-name>Proceedings of the International Conference on Acoustics, Speech, and Signal Processing</conf-name><conf-loc>Salt Lake City, UT, USA</conf-loc><conf-date>May 7–11, 2001</conf-date><fpage>2033</fpage><lpage>2036</lpage></citation></ref>
<ref id="b21-sensors-10-05233"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Heinzelman</surname><given-names>W.R.</given-names></name><name><surname>Chandrakasan</surname><given-names>A.</given-names></name><name><surname>Balakrishnan</surname><given-names>H.</given-names></name></person-group><article-title>An Application-Specific Protocol Architecture for Wireless Microsensor Networks</article-title><source>IEEE Trans. Wireless Commun</source><year>2002</year><volume>1</volume><fpage>660</fpage><lpage>670</lpage><pub-id pub-id-type="doi">10.1109/TWC.2002.804190</pub-id></citation></ref>
<ref id="b22-sensors-10-05233"><label>22.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Huang</surname><given-names>G.</given-names></name><name><surname>Li</surname><given-names>X.</given-names></name><name><surname>He</surname><given-names>J.</given-names></name></person-group><article-title>Energy-Efficiency Analysis of Cluster-Based Routing Protocols in Wireless Sensor Networks</article-title><conf-name>Proceedings of the IEEE Aerospace Conference</conf-name><conf-loc>Big Sky, MT, USA</conf-loc><conf-date>March 4–11, 2006</conf-date></citation></ref>
<ref id="b23-sensors-10-05233"><label>23.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Fonseca</surname><given-names>R.</given-names></name><name><surname>Ratnasamy</surname><given-names>S.</given-names></name><name><surname>Zhao</surname><given-names>J.</given-names></name><name><surname>Culler</surname><given-names>D.</given-names></name><name><surname>Shenker</surname><given-names>S.</given-names></name><name><surname>Stoica</surname><given-names>I.</given-names></name></person-group><article-title>Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets</article-title><conf-name>Proceedings of the 2nd Symposium on Networked Systems Design and Implementation</conf-name><conf-loc>Boston, MA, USA</conf-loc><conf-date>May 2005</conf-date></citation></ref>
<ref id="b24-sensors-10-05233"><label>24.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Mao</surname><given-names>Y.</given-names></name><name><surname>Wang</surname><given-names>F.</given-names></name><name><surname>Qiu</surname><given-names>L.</given-names></name><name><surname>Lam</surname><given-names>S.S.</given-names></name><name><surname>Smith</surname><given-names>J.M.</given-names></name></person-group><article-title>Small State and Small Stretch Routing Protocol for Large Wireless Sensor Networks</article-title><conf-name>Proceedings of the 2nd Symposium on Networked Systems Design and Implementation</conf-name><conf-loc>Cambridge, MA, USA</conf-loc><conf-date>April 2007</conf-date></citation></ref>
<ref id="b25-sensors-10-05233"><label>25.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Iwanicki</surname><given-names>K.</given-names></name><name><surname>Van Steen</surname><given-names>M.</given-names></name></person-group><article-title>On Hierarchical Routing in Wireless Sensor Networks</article-title><conf-name>Proceedings of the International Conference on Information Processing in Sensor Networks</conf-name><conf-loc>San Francisco, CA, USA</conf-loc><conf-date>April 2009</conf-date><fpage>133</fpage><lpage>144</lpage></citation></ref>
<ref id="b26-sensors-10-05233"><label>26.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ibriq</surname><given-names>J.</given-names></name><name><surname>Mahgoub</surname><given-names>I.</given-names></name></person-group><article-title>Cluster-Based Routing in Wireless Sensor Networks: Issues and Challenges</article-title><conf-name>Proceedings of the 2004 Symposium on Performance Evaluation of Computer Telecommunication Systems</conf-name><conf-loc>San Jose, CA, USA</conf-loc><conf-date>July 2004</conf-date><fpage>759</fpage><lpage>766</lpage></citation></ref>
<ref id="b27-sensors-10-05233"><label>27.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jiang</surname><given-names>C.</given-names></name><name><surname>Yuan</surname><given-names>D.</given-names></name><name><surname>Zhao</surname><given-names>Y.</given-names></name></person-group><article-title>Towards Clustering Algorithms in Wireless Sensor Networks—A Survey</article-title><conf-name>Proceedings of the IEEE Wireless Communications and Networking Conference</conf-name><conf-loc>Budapest, Hungary</conf-loc><conf-date>April 2009</conf-date></citation></ref>
<ref id="b28-sensors-10-05233"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abbasi</surname><given-names>A.</given-names></name><name><surname>Younis</surname><given-names>M.</given-names></name></person-group><article-title>A Survey on Clustering Algorithms for Wireless Sensor Networks</article-title><source>Comput. Commun</source><year>2007</year><volume>30</volume><fpage>2826</fpage><lpage>2841</lpage><pub-id pub-id-type="doi">10.1016/j.comcom.2007.05.024</pub-id></citation></ref>
<ref id="b29-sensors-10-05233"><label>29.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Al-Karaki</surname><given-names>J.</given-names></name><name><surname>Kamal</surname><given-names>A.</given-names></name></person-group><article-title>Routing Techniques in Wireless. Sensor Networks: A Survey</article-title><source>IEEE Wireless Commun</source><year>2004</year><volume>11</volume><fpage>6</fpage><lpage>28</lpage></citation></ref>
<ref id="b30-sensors-10-05233"><label>30.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Younis</surname><given-names>M.</given-names></name><name><surname>Munshi</surname><given-names>P.</given-names></name><name><surname>Gupta</surname><given-names>G.</given-names></name><name><surname>Elsharkawy</surname><given-names>S.M.</given-names></name></person-group><article-title>On Efficient Clustering of Wireless Sensor Networks</article-title><conf-name>Proceedings of the 2nd IEEE Workshop on Dependability and Security in Sensor Networks and Systems</conf-name><conf-loc>Pisa, Italy</conf-loc><conf-date>April 2006</conf-date><fpage>78</fpage><lpage>91</lpage></citation></ref>
<ref id="b31-sensors-10-05233"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Younis</surname><given-names>O.</given-names></name><name><surname>Fahmy</surname><given-names>S.</given-names></name></person-group><article-title>HEED: A Hybrid, Energy-Efficient, Distributed Clustering Approach for <italic>Ad Hoc</italic> Sensor Networks</article-title><source>IEEE Trans. Mob. Comput</source><year>2004</year><volume>3</volume><fpage>366</fpage><lpage>379</lpage><pub-id pub-id-type="doi">10.1109/TMC.2004.41</pub-id></citation></ref>
<ref id="b32-sensors-10-05233"><label>32.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>Y.</given-names></name><name><surname>Zhao</surname><given-names>Q.</given-names></name><name><surname>Zheng</surname><given-names>D.</given-names></name></person-group><article-title>Energy-Driven Adaptive Clustering Data Collection Protocol in Wireless Sensor Networks</article-title><conf-name>Proceedings of the International Conference on Intelligent Mechatronics and Automation</conf-name><conf-loc>Chengdu, Sichuan, China</conf-loc><conf-date>August 26–31, 2004</conf-date><fpage>599</fpage><lpage>604</lpage></citation></ref>
<ref id="b33-sensors-10-05233"><label>33.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wu</surname><given-names>Y.</given-names></name><name><surname>Chen</surname><given-names>Z.</given-names></name><name><surname>Jing</surname><given-names>Q.</given-names></name><name><surname>Wang</surname><given-names>Y.</given-names></name></person-group><article-title>LENO: LEast Rotation Near-Optimal Cluster Head Rotation Strategy in Wireless Sensor Networks</article-title><conf-name>Proceedings of the 21st International Conference on Advanced Information Networking and Applications</conf-name><conf-loc>Niagara Falls, ON, Canada</conf-loc><conf-date>May 2007</conf-date><fpage>195</fpage><lpage>201</lpage></citation></ref>
<ref id="b34-sensors-10-05233"><label>34.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lindsey</surname><given-names>S.</given-names></name><name><surname>Raghavendra</surname><given-names>C.S.</given-names></name></person-group><article-title>PEGASIS: Power Efficient Gathering in Sensor Information System</article-title><conf-name>Proceedings of the IEEE Conference on Aerospace</conf-name><conf-loc>Big Sky, MT, USA</conf-loc><conf-date>March 2002</conf-date><fpage>1125</fpage><lpage>1130</lpage></citation></ref>
<ref id="b35-sensors-10-05233"><label>35.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ye</surname><given-names>M.</given-names></name><name><surname>Li</surname><given-names>C.</given-names></name><name><surname>Chen</surname><given-names>G.</given-names></name><name><surname>Wu</surname><given-names>J.</given-names></name></person-group><article-title>EECS: An Energy Efficient Clustering Scheme in Wireless Sensor Networks</article-title><conf-name>Proceedings of the 24th IEEE International Performance, Computing, and Communications Conference</conf-name><conf-loc>Phoenix, AZ, USA</conf-loc><conf-date>April 2005</conf-date><fpage>535</fpage><lpage>540</lpage></citation></ref>
<ref id="b36-sensors-10-05233"><label>36.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lee</surname><given-names>H.</given-names></name><name><surname>Lee</surname><given-names>K.</given-names></name><name><surname>Lee</surname><given-names>Y.</given-names></name></person-group><article-title>A Self-Organized Head Selection for Hierarchical Routing in Wireless Sensor Networks</article-title><conf-name>Proceedings of the 3rd International Workshop on Self-Organizing Systems</conf-name><conf-loc>Vienna, Austria</conf-loc><conf-date>December 2008</conf-date></citation></ref>
<ref id="b37-sensors-10-05233"><label>37.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>Y.H.</given-names></name><name><surname>Tsai</surname><given-names>C.H.</given-names></name><name><surname>Mao</surname><given-names>H.J.</given-names></name></person-group><article-title>HMRP: Hierarchy-Based Multipath Routing Protocol for Wireless Sensor Networks</article-title><source>Embedded and Ubiquitous Computing</source><publisher-name>Springer Berlin/Heidelberg</publisher-name><publisher-loc>Taipei, Taiwan</publisher-loc><year>2007</year><fpage>452</fpage><lpage>459</lpage></citation></ref>
<ref id="b38-sensors-10-05233"><label>38.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Simón Carbajo</surname><given-names>R.</given-names></name><name><surname>Huggard</surname><given-names>M.</given-names></name><name><surname>McGoldrick</surname><given-names>C.</given-names></name></person-group><article-title>An End-to-End Routing Protocol for Peer-to-Peer Communication in Wireless Sensor Networks</article-title><conf-name>Proceedings of the 6th Workshop on Middleware for Network Eccentric and Mobile Applications</conf-name><conf-loc>Glasgow, Scotland</conf-loc><conf-date>April 2008</conf-date></citation></ref>
<ref id="b39-sensors-10-05233"><label>39.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jayakumar</surname><given-names>G.</given-names></name><name><surname>Gopinath</surname><given-names>G.</given-names></name></person-group><article-title><italic>Ad Hoc</italic> Mobile Wireless Networks Routing Protocols—A Review</article-title><source>J. Comput. Sci</source><year>2007</year><volume>3</volume><fpage>574</fpage><lpage>582</lpage><pub-id pub-id-type="doi">10.3844/jcssp.2007.574.582</pub-id></citation></ref>
<ref id="b40-sensors-10-05233"><label>40.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Johnson</surname><given-names>D.</given-names></name><name><surname>Maltz</surname><given-names>D.</given-names></name><name><surname>Broch</surname><given-names>J.</given-names></name></person-group><source>Ad Hoc <italic>Networking</italic></source><publisher-name>Addison-Wesley</publisher-name><publisher-loc>Upper Saddle River, NJ, USA</publisher-loc><year>2001</year><fpage>139</fpage><lpage>172</lpage></citation></ref>
<ref id="b41-sensors-10-05233"><label>41.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Bicocchi</surname><given-names>N.</given-names></name><name><surname>Mamei</surname><given-names>M.</given-names></name><name><surname>Zambonelli</surname><given-names>F.</given-names></name></person-group><source>Self-Organizing Overlay Knowledge Networks for Future Pervasive Computing Applications</source><publisher-name>American Scientific Publishers</publisher-name><publisher-loc>Valencia, CA, USA</publisher-loc><year>2007</year></citation></ref>
<ref id="b42-sensors-10-05233"><label>42.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stoica</surname><given-names>I.</given-names></name><name><surname>Morris</surname><given-names>R.</given-names></name><name><surname>Liben-Nowell</surname><given-names>D.</given-names></name><name><surname>Karger</surname><given-names>D.R.</given-names></name><name><surname>Kaashoek</surname><given-names>M.F.</given-names></name><name><surname>Dabek</surname><given-names>F.</given-names></name><name><surname>Balakrishnan</surname><given-names>H.</given-names></name></person-group><article-title>Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications</article-title><source>IEEE/ACM Trans. Networking</source><year>2003</year><volume>11</volume><fpage>17</fpage><lpage>32</lpage><pub-id pub-id-type="doi">10.1109/TNET.2002.808407</pub-id></citation></ref>
<ref id="b43-sensors-10-05233"><label>43.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Rowstron</surname><given-names>A.</given-names></name><name><surname>Druschel</surname><given-names>P.</given-names></name></person-group><article-title>Pastry: Scalable, Distributed Object Location and Routing for Large-Scale Peer-to-Peer Systems</article-title><conf-name>Proceedings of the 18th IFIP/ACM International Conference on Distributed Systems Platforms</conf-name><conf-loc>Heidelberg, Germany</conf-loc><conf-date>November 2001</conf-date></citation></ref>
<ref id="b44-sensors-10-05233"><label>44.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jung</surname><given-names>J.</given-names></name><name><surname>Lee</surname><given-names>S.</given-names></name><name><surname>Kim</surname><given-names>N.</given-names></name><name><surname>Yoon</surname><given-names>H.</given-names></name></person-group><article-title>Efficient Service Discovery Mechanism for Wireless Sensor Networks</article-title><source>Comput. Commun</source><year>2008</year><volume>31</volume><fpage>3292</fpage><lpage>3298</lpage><pub-id pub-id-type="doi">10.1016/j.comcom.2008.05.015</pub-id></citation></ref>
<ref id="b45-sensors-10-05233"><label>45.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Muneeb</surname><given-names>A.</given-names></name><name><surname>Zartash</surname><given-names>A.</given-names></name></person-group><article-title>CSN: A Network Protocol for Serving Dynamic Queries in Large-Scale Wireless Sensor Networks</article-title><conf-name>Proceedings of the Annual Conference on Communication Networks and Services Research</conf-name><conf-loc>Fredericton, NB, Canada</conf-loc><conf-date>May 2004</conf-date><fpage>165</fpage><lpage>174</lpage></citation></ref>
<ref id="b46-sensors-10-05233"><label>46.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Friedman</surname><given-names>R.</given-names></name><name><surname>Gavidia</surname><given-names>D.</given-names></name></person-group><article-title>Gossiping on MANETs: The Beauty and the Beast</article-title><source>ACM SIGOPS Oper. Syst. Rev</source><year>2007</year><volume>41</volume><fpage>67</fpage><lpage>74</lpage><pub-id pub-id-type="doi">10.1145/1317379.1317390</pub-id></citation></ref>
<ref id="b47-sensors-10-05233"><label>47.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ding</surname><given-names>W.</given-names></name><name><surname>Iyengar</surname><given-names>S.S.</given-names></name></person-group><article-title>Bootstrapping Chord over MANETs—All Roads Lead to Rome</article-title><conf-name>Proceedings of the IEEE Wireless Communications and Networking Conference</conf-name><conf-loc>Hong Kong, China</conf-loc><conf-date>March 2007</conf-date></citation></ref>
<ref id="b48-sensors-10-05233"><label>48.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jelasity</surname><given-names>M.</given-names></name><name><surname>Montresor</surname><given-names>A.</given-names></name><name><surname>Babaoglu</surname><given-names>O.</given-names></name></person-group><article-title>Gossip-Based Aggregation in Large Dynamic Networks</article-title><source>ACM Trans. Comput. Syst</source><year>2005</year><volume>23</volume><fpage>219</fpage><lpage>252</lpage><pub-id pub-id-type="doi">10.1145/1082469.1082470</pub-id></citation></ref>
<ref id="b49-sensors-10-05233"><label>49.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Samsudin</surname><given-names>A.T.</given-names></name><name><surname>Suryana Herman</surname><given-names>N.</given-names></name><name><surname>Unger</surname><given-names>H.</given-names></name><name><surname>Awang</surname><given-names>M.K.</given-names></name></person-group><article-title>The Searching Scalability of Peer-to-Peer System</article-title><conf-name>Proceedings of the 10th International Conference on Advanced Communication Technology</conf-name><conf-loc>Gangwon-Do, Korea</conf-loc><conf-date>February 17–20, 2008</conf-date><fpage>1891</fpage><lpage>1896</lpage></citation></ref>
<ref id="b50-sensors-10-05233"><label>50.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jelasity</surname><given-names>M.</given-names></name><name><surname>Montresor</surname><given-names>A.</given-names></name><name><surname>Babaoglu</surname><given-names>O.</given-names></name></person-group><article-title>T-Man: Gossip-Based Fast Overlay Topology Construction</article-title><source>Comput. Networks</source><year>2009</year><volume>53</volume><fpage>2321</fpage><lpage>2339</lpage><pub-id pub-id-type="doi">10.1016/j.comnet.2009.03.013</pub-id></citation></ref>
<ref id="b51-sensors-10-05233"><label>51.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kang</surname><given-names>E.</given-names></name><name><surname>Kim</surname><given-names>M.J.</given-names></name><name><surname>Lee</surname><given-names>E.</given-names></name><name><surname>Kim</surname><given-names>U.</given-names></name></person-group><article-title>DHT-Based Mobile Service Discovery Protocol for Mobile <italic>Ad Hoc</italic> Networks</article-title><conf-name>Proceedings of the 4th International Conference on Intelligent Computing</conf-name><conf-loc>Shanghai, China</conf-loc><conf-date>September 2008</conf-date><fpage>610</fpage><lpage>619</lpage></citation></ref>
<ref id="b52-sensors-10-05233"><label>52.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Jelacity</surname><given-names>M.</given-names></name><name><surname>Montresor</surname><given-names>A.</given-names></name><name><surname>Jesi</surname><given-names>G.</given-names></name><name><surname>Voulgaris</surname><given-names>S.</given-names></name></person-group><article-title>The Peersim simulator</article-title><comment>Available online: <ext-link xlink:href="http://peersim.sf.net" ext-link-type="uri">http://peersim.sf.net</ext-link> (accessed on May 2010).</comment></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-10-05233" position="float">
<label>Figure 1.</label>
<caption>
<p>Controlled Flooding Mechanism.</p></caption>
<graphic xlink:href="sensors-10-05233f1.gif"/></fig>
<fig id="f2-sensors-10-05233" position="float">
<label>Figure 2.</label>
<caption>
<p>Solicitation Mechanism.</p></caption>
<graphic xlink:href="sensors-10-05233f2.gif"/></fig>
<fig id="f3-sensors-10-05233" position="float">
<label>Figure 3.</label>
<caption>
<p>Periodic Mechanism for CH election.</p></caption>
<graphic xlink:href="sensors-10-05233f3.gif"/></fig>
<fig id="f4-sensors-10-05233" position="float">
<label>Figure 4.</label>
<caption>
<p>Routing in NEURON.</p></caption>
<graphic xlink:href="sensors-10-05233f4.gif"/></fig>
<fig id="f5-sensors-10-05233" position="float">
<label>Figure 5.</label>
<caption>
<p>Route Request Mechanism.</p></caption>
<graphic xlink:href="sensors-10-05233f5.gif"/></fig>
<fig id="f6-sensors-10-05233" position="float">
<label>Figure 6.</label>
<caption>
<p>Topology Formulation Algorithm.</p></caption>
<graphic xlink:href="sensors-10-05233f6.gif"/></fig>
<fig id="f7-sensors-10-05233" position="float">
<label>Figure 7.</label>
<caption>
<p>Total messages for overlay topology formulation.</p></caption>
<graphic xlink:href="sensors-10-05233f7.gif"/></fig>
<fig id="f8-sensors-10-05233" position="float">
<label>Figure 8.</label>
<caption>
<p>Autonomic Provision of Services.</p></caption>
<graphic xlink:href="sensors-10-05233f8.gif"/></fig>
<fig id="f9-sensors-10-05233" position="float">
<label>Figure 9.</label>
<caption>
<p>(a) Messages for Network Density and Size Estimation and (b) Messages for Network Density and Size Estimation per node.</p></caption>
<graphic xlink:href="sensors-10-05233f9.gif"/></fig>
<fig id="f10-sensors-10-05233" position="float">
<label>Figure 10.</label>
<caption>
<p>Cycles for convergence of the estimated parameters.</p></caption>
<graphic xlink:href="sensors-10-05233f10.gif"/></fig>
<fig id="f11-sensors-10-05233" position="float">
<label>Figure 11.</label>
<caption>
<p>Deviation in the estimation of the (a) density and (b) size of the WSN.</p></caption>
<graphic xlink:href="sensors-10-05233f11.gif"/></fig>
<fig id="f12-sensors-10-05233" position="float">
<label>Figure 12.</label>
<caption>
<p>Cluster Visualisation.</p></caption>
<graphic xlink:href="sensors-10-05233f12.gif"/></fig>
<fig id="f13-sensors-10-05233" position="float">
<label>Figure 13.</label>
<caption>
<p>Theoretical and Practical number of elected CHs.</p></caption>
<graphic xlink:href="sensors-10-05233f13.gif"/></fig>
<fig id="f14-sensors-10-05233" position="float">
<label>Figure 14.</label>
<caption>
<p>Cluster Size for (a) <italic>P<sub>clust</sub></italic> = 1%, (b) <italic>P<sub>clust</sub></italic> = 4% and (c) variable <italic>P<sub>clust</sub></italic>.</p></caption>
<graphic xlink:href="sensors-10-05233f14a.gif"/>
<graphic xlink:href="sensors-10-05233f14b.gif"/></fig>
<fig id="f15-sensors-10-05233" position="float">
<label>Figure 15.</label>
<caption>
<p>Average entries in each node’s routing cache.</p></caption>
<graphic xlink:href="sensors-10-05233f15.gif"/></fig>
<fig id="f16-sensors-10-05233" position="float">
<label>Figure 16.</label>
<caption>
<p>Percentage of total routes in the CHs routing caches for (a) <italic>P<sub>clust</sub></italic> = 1%, (b) <italic>P<sub>clust</sub></italic> = 4% and (c) variable <italic>P<sub>clust</sub></italic>.</p></caption>
<graphic xlink:href="sensors-10-05233f16.gif"/></fig>
<fig id="f17-sensors-10-05233" position="float">
<label>Figure 17.</label>
<caption>
<p>(a) Total number of messages exchanged for cluster formulation and (b) total number of messages exchanged for cluster formulation per node.</p></caption>
<graphic xlink:href="sensors-10-05233f17.gif"/></fig>
<fig id="f18-sensors-10-05233" position="float">
<label>Figure 18.</label>
<caption>
<p>(a) Route Request and (b) Route Response Message Cost.</p></caption>
<graphic xlink:href="sensors-10-05233f18.gif"/></fig>
<fig id="f19-sensors-10-05233" position="float">
<label>Figure 19.</label>
<caption>
<p>(a) Alive Nodes in the WSN, (b) Residual Energy in the WSN and (c) Consumed Energy in the WSN.</p></caption>
<graphic xlink:href="sensors-10-05233f19.gif"/></fig>
<fig id="f20-sensors-10-05233" position="float">
<label>Figure 20.</label>
<caption>
<p>Routing Message Cost for Topology Formulation (logarithmic scale).</p></caption>
<graphic xlink:href="sensors-10-05233f20.gif"/></fig>
<table-wrap id="t1-sensors-10-05233" position="float">
<label>Table 1.</label>
<caption>
<p>Averaging through Neighbour-gossiping.</p></caption>
<table frame="box" rules="cols">
<tbody>
<tr>
<td align="left" valign="middle">
<monospace>converged=false;</monospace><break/>
<monospace>neighbconverged=false;</monospace><break/>
<monospace>do forever{</monospace><break/>
<monospace>if (cycle mod resetcycle</monospace><break/>
<monospace>==0){</monospace><break/>
<monospace>converged=false;</monospace><break/>
<monospace>neighbconverged=false;</monospace><break/>
<monospace>paramvalue =</monospace><break/>
<monospace>CountNeighbors();</monospace><break/>
<monospace>ReceivedMSG=0;</monospace><break/>
<monospace>}</monospace><break/>
<monospace>if (ReceivedMSG!=0){</monospace><break/>
<monospace>oldparamvalue= paramvalue;</monospace><break/>
<monospace>paramvalue=(paramvalue) /</monospace><break/>
<monospace>ReceivedMSG;</monospace><break/>
<monospace>if (Abs (oldparamvalue-</monospace><break/>
<monospace>paamvalue) &lt;threshold){</monospace><break/>
<monospace>converged=true;</monospace><break/>
<monospace>}</monospace><break/>
<monospace>}</monospace><break/>
<monospace>if (neighbconverged==false){</monospace><break/>
<monospace>for</monospace><break/>
<monospace>(i=0;i&lt;Neighbors.size();i++){</monospace><break/>
<monospace>Send</monospace><break/>
<monospace>Frame[paramvalue,coverged] to Node<sub>i</sub></monospace><break/>
<monospace>}</monospace><break/>
<monospace>neighbconverged=true;</monospace><break/>
<monospace>}</monospace><break/>
<monospace>}</monospace></td>
<td align="left" valign="middle">
<monospace>On_Message_Receive_Event{</monospace><break/>
<monospace>paramvalue+=ReceivedFrame [paramvalue];</monospace><break/>
<monospace>if (ReceivedFrame [converged]==false)</monospace><break/>
<monospace>neighbconverged=false;</monospace><break/>
<monospace>ReceivedMSG++;</monospace><break/>
<monospace>}</monospace></td></tr>
<tr>
<td colspan="2" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top">
<monospace>active thread</monospace></td>
<td align="left" valign="top">
<monospace>passive thread</monospace></td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-10-05233" position="float">
<label>Table 2.</label>
<caption>
<p>T-MAN pseudo code.</p></caption>
<table frame="box" rules="cols">
<tbody>
<tr>
<td align="left" valign="top">
<monospace>do forever{</monospace><break/>
<monospace>Node_To_Sent<sub>p</sub> ←</monospace><break/>
<monospace>selectCloserNode()</monospace><break/>
<monospace>buffer ←</monospace><break/>
<monospace>merge (view,{myNodeDescriptor})</monospace><break/>
<monospace>send buffer to Node_To_Sent<sub>p</sub></monospace><break/>
<monospace>receive buffer<sub>p</sub> from</monospace><break/>
<monospace>Node_To_Sent<sub>p</sub></monospace><break/>
<monospace>buffer ← merge (buffer<sub>p</sub> ,view)</monospace><break/>
<monospace>view ← Reevaluate(buffer)</monospace><break/>
<monospace>}</monospace></td>
<td align="left" valign="top">
<monospace>do forever{</monospace><break/>
<monospace>receive buffer<sub>q</sub> from Sender<sub>q</sub></monospace><break/>
<monospace>buffer ←</monospace><break/>
<monospace>merge (view,{myNodeDescriptor})</monospace><break/>
<monospace>send buffer to Sender<sub>q</sub></monospace><break/>
<monospace>buffer ← merge (buffer<sub>q</sub> ,view)</monospace><break/>
<monospace>view ← Reevaluate (buffer)</monospace><break/>
<monospace>}</monospace></td></tr>
<tr>
<td colspan="2" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top">
<monospace>active thread</monospace></td>
<td align="left" valign="top">
<monospace>passive thread</monospace></td></tr></tbody></table></table-wrap></sec></back></article>
