## 2 Related Work  
The routing algorithms for WSNs can be classified as float or data-centric, hierarchical and geographic or location-based [14, 15]. Data-centric protocols are query-based. The sink node sends queries to the network, and sensor nodes send data in response to these queries [15]. All sensors play the same role, and their duty is to send data packets to the sink. Geographic protocols utilize the geographic location of nodes and their position in the network to route data packets to the sink [16]. Position information is generally achieved by GPS (Global Positioning System) or by exchanging information among nodes. Clustering protocols assign different tasks to the nodes. Clustering zone and parent-child relationships are commonly used [16]. In the clustering approach, the network is divided into groups, called clusters. Each cluster has a leader node, usually called the cluster head, which is responsible for collecting data from cluster members and routing data packets towards the sink. In the parent-child approach, the parent node is responsible for collecting data from its children nodes and forwarding the packets to its own parent. Packets are relayed from parent to parent, until they reach the sink. In [15], routing protocols designed for WSNs are categorized according to their routing goal: energy conservation, fast delivery and fault tolerance. Energy-efficient approaches utilize two methods: energy balancing and energy consumption reduction. Delay-aware approaches are classified into two types: hard delay aware and soft delay aware. The main goal of hard delay-aware approaches is to deliver real-time data on-time, while the main goal of software delay-aware approaches is just to select the shortest path. Fault-tolerant approaches use two strategies against faults: using a method or different levels of redundancy to prevent failures or using a method to detect and to repair the failures. The authors in [14] claim that hierarchical routing protocols are the main method to solve the energy problem in large-scale WSNs and categorize clustering protocols designed especially for large-scale WSNs according to their goals: control overhead reduction, energy consumption mitigation and energy balance. In addition, various clustering algorithms proposed in the literature were compared using the following metrics: message complexity, memory requirement, localization, data aggregation, clustering manner, intra-cluster topology, cluster-head election and multipath routing. Message complexity, which represents the number of messages exchanged among nodes, directly affects the scalability of the routing protocol. Therefore, routing protocols designed for large-scale WSNs must consider reducing the message complexity. In order to enhance the scalability, routing protocols must also efficiently utilize the limited memory capacity of sensor nodes. The utilization of GPS must be avoided, since extra hardware increases economic costs. Data aggregation strategies enhance energy efficiency and scalability, since the number of messages in transit on the network is reduced. Another way to enhance energy efficiency is to construct the network clusters on demand and to use the topology of a spanning tree intra-cluster. The authors in [14] provide some examples of clustering algorithms that use spanning trees to enhance scalability and to extend network lifetime. More energy-efficient LEACHfor large-scale WSNs (MELEACH-L) [17] connects some nodes of the network by a spanning tree in order to construct a virtual backbone. The base station-controlled dynamic clustering protocol (BCDCP) [18] uses a similar strategy, in which the clusterheads are connected by a tree and the sink functions as the manager of the whole network. The dynamic minimal spanning tree routing protocol (DMSTRP) for large wireless sensor networks [19] improves BCDCP and constructs a spanning tree intra-cluster and inter-cluster.