## 1 Introduction  
Recent advances in Micro-Electro-Mechanical Systems (MEMS) in tandem with significant developments in digital signal processing (DSP) have led to the great development of micro-sensors. While in the past the wired sensors were implemented in limited applications in industries, wireless implementation makes the wide deployment of sensor nodes more feasible than before. In the past decade, there has been much research regarding the great potential capabilities of wireless sensor networks (WSNs) in applications such as environmental monitoring, habitat study, military surveillance in the battlefield and home automation. With sharp decreases in cost and tangible improvements in storage and processing capabilities of sensor nodes, the integrated presence of sensor nodes in human everyday-life, as the connector of the physical environment with virtual digital world, will be dominant in near future. Vast deployment of nodes on large-scale dimensions entails deep investigation on routing protocols to ensure reliable and real-time data transmission, while considering the power constraints inherent in WSNs. Normally, a sensor node is powered by a battery, and is unattended once deployed, therefore the proposed routing protocols for WSNs should not only address the challenges regarding the Quality of Service (QoS) of the application such as real-time operation, fault tolerance, scalability and data reliability, but the limited capabilities of WSNs in energy storage, processing, memory and communication and topology changes due to nodes' mobility and demises should be addressed too. Given the unique characteristic of WSNs, cluster-based protocols show significant advantages over flat strategies. Followings are several advantages of clustering schemes that introduce them as the most compatible protocols with WSNs attributes:  
* Minimizing the total transmission power. * Balancing the energy-exhausting load among all nodes. * Reducing the bandwidth demand and efficient use of limited channel bandwidth. * Lessening routing and topology maintenance overhead. * Eliminating the redundant and highly correlated data in aggregation process. * Reducing data collision and interference in data transmission process by use of multi-power levels in cluster-scale and network-scale communications. * Localizing the route setup within the cluster boundaries and thus generating small-size routing tables. * Increasing the manageability and scalability of the network. Cluster-based routing protocols consist of four stages: cluster head selection, cluster formation, data aggregation and data communication. As it is seen in Figure 1, the setup state starts by the cluster head selection stage and proceeds by constructing clusters. The setup state is followed by the steady data transmission state, which is subdivided into data aggregation and data transmission phases. The setup and steady data transmission states form one round of running a cluster-based protocol, which iterates throughout the time of running the protocol or the network lifetime. Based on the role, sensor nodes in clustering algorithms may be grouped into four categories:  
* _Cluster head (CH)_: Coordination of a group of nodes located within the boundaries of the cluster, aggregating the sensed data by the cluster members and transmission of the aggregated data to the next hop are the main duties of a CH. * _Base station (BS)_: Given the high processing capabilities and unlimited source of energy, BS may be the coordinator of the network and/or the sink node where all the aggregated data are processed according to the type of the application and demands of the end user. * _Relay node (RN)_: Groups of nodes in multi-hop data transmission schemes responsible for relaying sensed or aggregated data by other nodes towards the destination
* _General node (GN)_: Majority of nodes in the network, which only provide the sensed data based on the type application.