Wireless Sensor Network, 2010, February, 161-167
doi:10.4236/wsn.2010.22021 February 2010 (http://www.SciRP.org/journal/wsn/).
Copyright © 2010 SciRes. WSN
Published Online
Tree Based Energy and Congestion Aware Routing
Protocol for Wireless Sensor Networks
Amir Hossein Mohajerzadeh, Mohammad Hossien Yaghmaee
Department of Computer Engineering, Ferdowsi University of Mashhad, Mashhad, Iran
E-mail: ah.mohajerzadeh@stu-mail.um.ac.ir, hyaghmae@ferdowsi.um.ac.ir
Received June 15, 2009; revised October 15, 2009; accepted November 17, 2009
Wireless Sensor Networks (WSNs) have inherent and unique characteristics rather than traditional networks.
They have many different constraints, such as computational power, storage capacity, energy supply and etc;
of course the most important issue is their energy constraint. Energy aware routing protocol is very important
in WSN, but routing protocol which only considers energy has not efficient performance. Therefore consid-
ering other parameters beside energy efficiency is crucial for protocols efficiency. Depending on sensor
network application, different parameters can be considered for its protocols. Congestion management can
affect routing protocol performance. Congestion occurrence in network nodes leads to increasing packet loss
and energy consumption. Another parameter which affects routing protocol efficiency is providing fairness
in nodes energy consumption. When fairness is not considered in routing process, network will be partitioned
very soon and then the network performance will be decreased. In this paper a Tree based Energy and Con-
gestion Aware Routing Protocol (TECARP) is proposed. The proposed protocol is an energy efficient rout-
ing protocol which tries to manage congestion and to provide fairness in network. Simulation results shown
in this paper imply that the TECARP has achieved its goals.
Keywords: Congestion Aware, Energy Efficiency, Routing Protocol, Fairness, Tree Based Routing, Wireless
Sensor Networks
1. Introduction
Wireless Sensor Networks have been noticed and re-
searched in recent years. These networks are composed
of hundreds or thousands of sensor nodes which have
many different types of sensors [1]. Using their sensors,
nodes collect information about their environment such
as light, temperature, humidity, motion and etc [2]. Sen-
sor nodes should send their collected data to determined
nodes called Sink. The sink processes data and performs
appropriate actions. Many different paths exist between
each node and sink. Using routing protocol, nodes de-
termine a path for sending data to sink. Similar to tradi-
tional networks, routing protocols in wireless sensor net-
works consider different parameters in their routing
process depended on their application.
WSNs have inherent and unique characteristics com-
pared with traditional networks [1,2]. These networks
have many limitations such as computing power, storage
space, communication range, energy supply and etc.
Nodes have limited primary energy sources and in most
of applications they are not rechargeable [3], therefore
energy consumption is the most important factor in rout-
ing process for wireless sensor networks. Node’s energy
is consumed due to using sensors, processing informa-
tion and communicating with other nodes. Communica-
tions are the main element in energy consumption.
Routing protocol directly affects communications vol-
ume; therefore energy aware routing protocols are very
effective in decreasing energy consumption [4].
Routing protocols which only consider energy as their
parameter are not efficient. In addition to energy effi-
ciency, using other parameters makes routing protocol
more efficient. For different applications, different pa-
rameters should be considered. One of the most impor-
tant parameter is congestion management. Congestion
occurrence leads to increasing packet loss and network
energy consumption. Congestion occurs for different
reasons in wireless networks; first, due to limited storage
capacity in relay nodes. When a node receives packets
more than its capacity, congestion will be occurred.
Second, due to inherent shared wireless link, congestion
Copyright © 2010 SciRes. WSN
occurred for similar reasons in wireless sensor networks.
For example, when many nodes simultaneously decide to
send packet using a shared medium, congestion will be
occurred. Two main methods exist to manage congestion.
Chen et al. [5] divided the techniques developed to ad-
dress the problem of data congestion in WSN into two
groups: congestion avoidance and congestion control.
The former focuses on strategies to avoid congestion
from happening and the latter works on removing con-
gestion when it has occurred. In wireless sensor networks
due to limitations in resources, avoiding congestion
rather than controlling congestion is more reasonable. In
congestion control mechanisms when the congestion is
occurred, it will be controlled. This mechanism leads to
consuming resources more. Generally even congestion
control mechanism detect congestion earlier, more en-
ergy will be conserved. In this paper we consider con-
gestion avoidance. In congestion avoidance mechanisms,
by avoiding congestion occurrence, more energy is con-
served. Different methods can be used to avoid conges-
tion in wireless sensor networks. We use limited tree
based routing. By definition many parameters about the
created routing tree, congestion aware routing is achiev-
able. For example, by limiting number of a node child,
amount of traffic which forward to it, will be controllable.
One of the considerable parameters that affect the
network energy consumption is providing fairness in
nodes energy consumption. To provide fairness, network
nodes’ energy should be consumed equally. If one part of
a network is used more than other parts, its energy will
be dropped sooner than others then the network will be
partitioned. If a network is partitioned, its energy con-
sumption increases severely. Different routing strategies
such as multi path, geographical, flat and hierarchical
exist for WSNs. Each mentioned strategies have its own
unique characteristics. Using different paths to send data
to sink makes providing fairness more efficient.
Tree structure is used by routing protocols due to its
inherent characteristics [6,7]. Regarding as in wireless
sensor networks structure, in most of applications we
have one sink and too many sender nodes, and tree
structure is very popular. In many protocols, by limiting
routing tree such as determining most number of nodes’
Childs or the maximum depth of tree, limited tree struc-
ture is used in routing process.
In this paper, a hierarchical routing protocol which
considers both energy and congestion as two main pa-
rameters in routing process is proposed. Our proposed
protocol extends the routing approach in [8]. Simulation
results show that TECARP catch its goals. TECARP
consider two different traffics: high priority and low pri-
ority. Proposed protocol, uses best routes for high prior-
ity traffic and manages congestion, therefore we suggest
TECARP for transmitting real time traffic. The rest of
the paper is organized as follows: Section 2 summarizes
related work, in Section 3, TECARP is discussed, Sec-
tion 4 summarizes the simulation based evaluation of the
TECARP routing protocol, and finally Section 5 con-
cludes the paper.
2. Related Work
As mentioned before, energy consumption is the most
important factor for routing protocols in WSNs. Differ-
ent energy aware routing algorithms have been designed
for wireless sensor networks. In [9] optimal energy con-
sumption is the most important objective. Akkaya et al,
propose [8] which is a well known algorithm for trans-
mitting real time traffic in wireless sensor networks. It
considers energy consumption in its routing procedure. It
is a highly efficient and scalable protocol for sensor
networks where the resources of each node are scarce. It
is a Hierarchical routing algorithm. By determining real
time data forwarding rate, it can support both real time
and non real time traffics. Link cost function which is
used by [8] is interesting.
Reactive Energy Decision Routing Protocol (REDRP)
[10] is another routing algorithm for WSNs whose main
goal is optimal energy consumption. This algorithm at-
tempts to distribute traffic in the entire network fairly.
Using this mechanism, it decreases total network energy
consumption. REDRP is routing reactively, and uses
residual node energy in routing procedure. It uses local
information for routing, but nodes have a global ID
which is unique for the entire network. This algorithm is
divided into 4 steps. In the first step, the sink sends a
control packet to all network nodes. The nodes estimate
their distance to sink relatively by using this packet. The
next step is route discovery. Routing is performed on
demand in REDRP. This means that the routes are estab-
lished reactively. After route establishment in route dis-
covery step, data are forwarded to sink by using those
routes. If a route is damaged, in route recovery step, it
will be recovered or a new route will be established.
Different congestion control techniques have been
proposed for wireless sensor networks [11,12]. In [11],
CODA, an energy efficient congestion control scheme
for sensor networks was proposed. CODA (Congestion
Detection and Avoidance) comprises three mechanisms:
1) receiver-based congestion detection; 2) open-loop
hop-by-hop backpressure; and 3) closed-loop multi-
source regulation. CODA detects congestion based on
queue length as well as wireless channel load at interme-
diate nodes. Furthermore it uses explicit congestion noti-
fication approach and also an AIMD rate adjustment
technique. In [13], two traffic types are considered: high
priority and low priority. It selects a special area in net-
work called conzone. The nodes placed in conzone only
forward high priority traffic and other network nodes
forward other traffics. Reference [13] proposes two algo-
rithms: CAR and MCAR. CAR is a network-layer solu-
tion to provide differentiated service in congested sensor
networks. CAR also prevents severe degradation of ser-
vice to low priority data by utilizing uncongested parts of
the network. MCAR is primarily a MAC-layer mecha-
nism used in conjunction with routing to provide mobile
and lightweight conzones to address sensor networks
with mobile high priority data sources and/or bursty high
priority traffic. MCAR Compared with CAR has a
smaller overhead but degrades the performance of LP
data more aggressively.
3. Proposed Protocol
Proposed protocol is a hierarchical routing protocol.
Generally in hierarchical routing protocols, routing
process is divided into two main different phases. Each
phase is done independently. First, routing intra cluster;
in this phase packets are routed between sensor nodes
and cluster heads. Second, routing inter cluster; in this
phase packets are routed between cluster heads and the
sink. TECARP focuses on routing intra cluster. Routing
inter cluster is considered for future studies. TECARP is
composed of 3 phases: network clustering, creating rout-
ing tree and data forwarding. In network clustering phase,
network nodes are partitioned into different clusters.
During this phase cluster nodes information are delivered
to cluster head. In creating routing tree phase, a limited
routing tree will be created. During this phase a routing
table is created for each of cluster nodes. In data trans-
mission phase, packets are forwarded using relay nodes
routing table. During the time, depend on network cluster
status (congestion, fairness and energy) node’s routing
table will be updated. In the rest of this section, these
phases are discussed in details.
3.1. Network Clustering Phase
In this phase, network nodes are partitioned into different
clusters. In proposed protocol, clustering is done using
clustering mechanism presented in [14]. During the clus-
tering phase, a cluster head also should be elected for
each cluster. At the end of this phase, information about
all of the cluster nodes is delivered to cluster head. Each
node in cluster sends its own information to the sink di-
rectly. It is important to know that, this phase is done
once; therefore direct communication between cluster
nodes and the cluster head is negligible.
3.2. Creating Routing Tree Phase
In this phase, using information delivered to cluster node
in the former phase. In a routing tree structure, for every
cluster node a path to its cluster head is determined.
Cluster head knows position of all nodes located in its
cluster, and then in first step in this phase, cluster head
evaluates link cost between every two nodes located in
their communication range [8]. For determining link cost,
proposed protocol uses Formula (1).
ij kij
CostCF cdist
123 ij
ccc fe  (1)
CF0 (Communication Cost) = where c0 is a weight-
ing constant and the parameter L depends on the en-
vironment, and typically equals to 2. This factor re-
flects the cost of the wireless transmission power,
which is directly proportional to the distance raised
to some power L. The closer a node to the destina-
tion, the less its cost factor CF0 and more attractive
it is for routing.
CF1 (Energy stock) = this factor reflects the primary
battery lifetime, which favors nodes with more en-
ergy. The more energy the node contains, the better
it is for routing. Applicable in networks which have
heterogeneous nodes.
CF2 (Sensing-state cost) = where c2 is a constant
added when the node j is in a sensing state. This
factor does not favor selecting sensing-enabled
nodes to serve as relays. It’s preferred not to over-
load these nodes in order to keep functioning as
long as possible.
CF3 (Error rate) = where f is a function of distance
between nodes i and j and buffer size on node j (i.e.
distij / buffer _ size). The links with high error rate
will increase the cost function, thus will be avoided.
Cluster head using nodes’ information, links cost and
Dijkstra algorithm selects least cost route between every
cluster node and cluster head. Using Dijkstra algorithm,
route selected between every node and cluster head is
optimum; and only one path is selected between each
node and cluster head (only one optimal path is exist
between each node and cluster head); therefore the set of
all routes has a tree structure called routing tree. If a
node uses selected least cost route for transmitting its
traffic, network will consume least possible energy for its
traffic. But, it is important to note here that, the least cost
route is not always the best route. We discuss about pro-
viding fairness in network nodes energy consumption in
Section 1. If always the path with least cost is selected to
forward other nodes data, nodes which are located in
mentioned path die so sooner than other nodes which
located on paths with higher cost. Generally, if some
parts of network die sooner than other parts, network will
be partitioned. Partitioned network in comparison with
normal network consumes energy more and has higher
reliability. By using mechanism which provides fairness
in network, network lifetime will be increased and then
wireless sensor network can do its task more reliable and
Wireless sensor networks are expensive networks. For
decreasing costs, a network is used for more than one
Copyright © 2010 SciRes. WSN
Copyright © 2010 SciRes. WSN
application. Each application has its own traffic, there-
fore in many cases, a sensor network should transmit
different traffics with different priorities. The proposed
protocol considers two traffic types: high priority and
low priority traffic. Traffics based on their priority get
network services. TECARP improves routing tree after
constructing it; for each node, high priority traffic vol-
ume and the ability to forward other node data are de-
termined. Based on mentioned parameters, most number
of children for each node in routing tree to avoid conges-
tion will be determined. A node’s child is a node that
selects former node as its next hop in its route to the sink.
Usually a number in [3,6] is determined as the most
number of node’s children. After determining most
number of node’s children, routing tree is modified such
that no node remains with more than determined maxi-
mum number of children. Cluster head has sufficient
information about all the cluster routes, therefore it can
find number of each node’s children simply. The cluster
head decreases number of the children of nodes which
have children more than the most number of children,
using mechanism will be discussed in the next paragraph.
Cluster head evaluates all of the cluster nodes and then
chooses nodes that have children more than most number
of children. For all of neighbors of each selected nodes,
proposed protocol determines the following two parame-
Least cost route between node and sink (using one of
its neighbors except former neighbor as next hop).
Number of children of new selected next hop
Then among the children of each node, the one which
has a neighbor with fewer children than the most number
of children and least cost route to sink will be selected.
Then the selected child is modified and in future it will
be the child of its new qualified neighbor. In some situa-
tions, the child with appropriate conditions dose not exist,
therefore exceptionally a node with children more than
the most number of children is accepted. Here a routing
tree with appropriate structure is ready to make for each
cluster. But only cluster heads know the routes and rout-
ing tree, because they made it by itself and other nodes
do not participate in mentioned process.
After selecting the best route and determining the
number of children for every node, cluster head creates a
routing table for all cluster nodes. A special record in
routing table is considered for its best route to cluster
head. In addition to best route, many paths which have
lower costs in comparison to other paths are also selected
to create routing table. For each of selected paths, a record
is considered in routing table. Routing table has follow-
ing fields: ID, residual energy, number of children, cost
and average queue length. After constructing routing table,
cluster head directly sends each node routing table to it.
In this phase a routing tree is created for each cluster.
As mentioned before, maximum number of children for
each node in cluster is constant (of course softly). There-
fore traffic volume which enters to nodes is managed and
controlled. This leads to decrease congestion in network;
in other words, by using proposed mechanism which
explained in this section congestion is avoided as much
as possible. From another point of view, a routing table
based on a routing tree is created for each node in cluster.
Created routing tree has some records. The node depends
on network conditions (congestion and neighbors resid-
ual energy), can use each of records to forward its data.
Therefore all of routes participate in forwarding packets.
Using different routes leads to use different neighbors to
forward data.
3.3. Data Transmission Phase
At the end of the former phase, all the nodes have a rout-
ing table. As mentioned before, the proposed routing
protocol considers two traffic types: high priority and
low priority. The main goal of this phase is to determine
next hop for each arrival packet at each node. In the rest
of this section, the routing process which is done in each
node when it receives packets with different priorities is
When a node receives a high priority packet, it per-
forms following steps:
1) If special record in node routing table is active, this
record will be selected. Otherwise Step 2 will be done.
(The only special record in node routing table belongs to
least cost route)
2) Among the records which have average queue
length lower than threshold β, the record with lowest cost
field value will be selected. If all the records have aver-
age queue length more than threshold β, Step 3 will be
3) Among the records, the one with the lowest cost
field value will be selected.
After selecting the record, arrival packet will be sent
to the node which is determined in record as next hop.
When a node receives a low priority packet, it per-
forms the following steps:
1) Among the records which have average queue
length lower than threshold β, the record with the biggest
residual energy will be selected. If all of the records have
average queue length more than threshold β, Step 2 will
be done.
2) Among the records, the one with biggest residual
energy will be selected.
After selecting the record, the arrival packet will be
sent to the node which is determined in record as the next
hop. Threshold β numbered by multiply a number in [0,
1] to node queue capacity.
Nodes’ routing table should be updated periodically;
otherwise they can not play their role effectively. When a
node residual energy becomes less than threshold α, it
broadcasts a message and informs its neighbors about its
current condition. Neighbors receiving mentioned mes-
sage, update the sender node’s record in their routing
table. Also the nodes should inform their neighbors about
their average queue length. When a node queue length
crosses threshold β (goes up or down the β), it should
inform its neighbors. Threshold α numbered by multiply
a number in [0, 1] to primary available energy.
To keep routing table update is necessary for proposed
protocol. If routing table records not be updated, routing
process can not be efficient, because its information is
old. In other side, keeping routing table update is costly.
For keeping routing table update, routing protocol should
force nodes to send their current condition to its neigh-
bors periodically. This process is costly. Therefore, there
is a trade off between routing efficiency and node’s en-
ergy consumption. The short period leads to the efficient
routing and high energy consumption; the long period
leads to the lower energy consumption and less efficient
routing. We do many experiments to determine best val-
ues for parameters α, β.
4. Performance Evaluation
Akkaya considers almost similar parameters as our pro-
posed protocol in [8]. Akkaya’s algorithm is good relevant
protocol to our protocol and well known routing protocol
in wireless sensor networks. We simulate both TECARP
and [8], using C++ language in UNIX operating system
Most of hierarchical routing protocols are composed
of two main parts. The first part is routing intra clusters
and the second part is routing inter clusters. The first
part’s role is more important. The number of cluster nod-
es in simulations is considered as to be between 29 and
99. The communication range is determined Based on
number of nodes in cluster. We consider almost a 40*40
square for each cluster.
The main goal in TECARP is congestion avoidance.
TECARP makes a routing tree by considering the most
number of children for its nodes. When the number of
children in a routing tree is limited, traffic volumes
which enter to the node are limited too. Therefore when
an event is occurred, congestion occurrence probability
will be decreased. Another parameter which affects
TECARP success in congestion management is the
node’s awareness about their neighbors average queue
length. In this situation when nodes want to select the
next hop for their data, they consider their neighbors
average queue length as a parameter in decision making.
The node with lower average queue length rather than
other nodes has higher hope to be selected as next hop.
In the first graph, we evaluate the number of lost
packets due to congestion for two protocols. In Figure
1(a) the number of packet loss in two protocols for dif-
ferent numbers of events is presented.
As is observable in Figure 1(a) the number of packet
loss when network uses TECARP is less than another
protocol. TECARP manages congestion; therefore the
result shown in Figure 1 is obtained. As discussed before,
one of the main influences of congestion occurrence in
network is packet loss. Using congestion avoidance
mechanism, congestion occurrence is decreased and
therefore packet loss is decreased too.
In Figure 1(b) and 2(a) the number of received packets
to cluster head is plotted versus the number of events.
The number of nodes and events’ place are different in
two experiences. As shown in Figure 1(b) and 2(a), in
the same conditions, number of packets received to clus-
ter head in TECARP is always more than another proto-
col. TECARP manages congestion; it tries to reduce
packet loss in nodes which are located in paths between
nodes and the cluster head. Lower packet loss leads to
more success in delivering packets to cluster head. Both
Figure 1(b) and 2(a) show that TECARP is more suc-
cessful than another protocol.
As mentioned in former sections, TECARP considers
two types of traffic. Network nodes service traffics based
on their priority. Both of the protocols try to deliver the
best possible services to high priority traffic besides de-
liver suitable service to low priority traffic. In Figure 2(b)
the number of loss packets from each type of traffic for
both protocols is plotted versus the number of events.
TP1 is high priority traffic and TP2 is low priority traffic.
As observable in Figure 2(b), proposed protocol deliv-
0200040006000800010000 12000
Number of Events
Number of Lost Packets
Proposed Protocol
Akkaya et al Algorithm
0200400 600 800
Number of events
Number of Received
Proposed Algorithm
Akkaya, et al Algorithm
Figure 1. (a) Number of lost packets versus number of
events; (b) number of received packets versus number of
Copyright © 2010 SciRes. WSN
Copyright © 2010 SciRes. WSN
02004006008001000 1200
Number of Events
Number of Received Packets
Proposed Protocol
Akkkaya, et al Protocol
050001000015000 20000
Number of Events
Number of Lost Packets
Proposed Protocol TP1
Proposed Protocol TP2
Akkaya et al Algorithm TP1
Akkaya et al Algorithm TP2
Figure 2. (a) Number of received packets to cluster head
versus number of events; (b) number of lost packets versus
number of events for different types of traffic.
ers better services to traffics rather than another protocol.
Our proposed protocol delivers best possible services to
high priority traffics. In forwarding high priority traffics
proposed protocol considers only quality of delivered
services to packets. But in regard of low priority traffics,
in addition to quality of service, Routing protocol tries to
provide fairness more efficient and to avoid congestion
as much as possible. In other words, in forwarding low
priority traffics proposed protocol cares more to its de-
sirable parameters.
In Figure 3(a) performing fairness in two protocols are
compared. As mentioned in Section 1, providing fairness
is an important factor in wireless sensor networks routing
protocols efficiency. Imagine a protocol which sends all
of the data from a best cost route, in this situation, the
energy of nodes located in the best route are depleted
very soon; however other cluster nodes have consider-
able residual energy. TECARP tries to consume nodes
energy as fairly as possible. Using residual energy pa-
rameter, TECARP achieves its goal. In Figure 3(a) De-
viation parameter which is calculated using formula 2 is
plotted versus number of events received to cluster head.
AverageEnergyNodeDeviation i (2)
As shown in Figure 3(a), deviation parameter which
depends on providing fairness has a better value for
TECARP rather than another protocol. If a protocol pro-
vides fairness better; deviation parameter is valued less
for it. For number of events less than 800, Akkaya pro-
tocol provides fairness better than our proposed protocol.
Of course it is due to special routing process which is
used in proposed protocol.
In Figure 3(b) a snapshot from network is plotted. In
this figure, consumed energy of nodes for both of proto-
cols is presented. As observable in Figure 3(b), proposed
protocol is more successful than counterpart in providing
fairness. Red columns have different heights rather than
blue columns; in other words, blue columns are more
equivalent in heights in comparison with red columns.
The optimal condition occurs, when all of the nodes have
the same residual energy.
5. Conclusions
In this paper, we presented a new hierarchical energy
efficient routing protocol for sensor networks which
considers congestion management based on paper [15].
Routing protocol divides network into many clusters,
then using Dijkstra algorithm constructs a routing tree
for each cluster. In routing tree, most number of children
for cluster nodes is determined. Proposed protocol man-
ages congestion, using routing tree, node’s neighbors
average queue length and residual energy of nodes as
parameters. The effectiveness of the protocol is validated
by simulation. Simulation results show that our protocol
05001000 1500 2000
Number of Events Received ar Sink
D eviatio n
Proposed Protocol
Akkaya et al Algorithm
1 35 7 9111315171921
Node ID
Consumed Energy
Proposed Protocol
Akkaya et al algorithm
Figure 3. (a) Deviation versus number of events received at
cluster head; (b) consumed energy for all cluster nodes
Copyright © 2010 SciRes. WSN
achieved its goals. Proposed protocol considers only in-
tra cluster routing; we are currently extending the proto-
col to perform routing inter clusters.
. References
[1] M. Tubaishat and S. Madria, “Sensor networks: an
overview,” IEEE Potentials April/May, pp. 20–23, 2003.
[2] I. F. Akyildiz, W. Su, W. Sankarasubramaniam, and E.
Cayirci, ”A survey on sensor networks,” IEEE Commun-
ication magazine, pp. 102–114, 2002.
[3] H. Hassanein and L. Jing, “Reliable energy aware routing
in wireless sensor networks,” Second IEEE Workshop on
Dependability and Security in Sensor Networks and
Systems, DSSNS’06, pp. 54–64, 24–28 April 2006.
[4] Q. F. Jiang and Manivannan, “Routing protocols for
sensor networks,” 1st IEEE Consumer Communications
and Networking Conference, pp. 93–98, 2004.
[5] S. G. Chen, and N. Yang, “Congestion avoidance based
on lightweight buffer management in sensor networks,”
IEEE Transactions on Parallel and Distributed Systems,
Vol. 17, No. 9, pp. 934–946, September 2006.
[6] Z. Eskandari, M. H. Yaghmaee, and A. H. Mohajerzadeh,
“Energy efficient spanning tree for data aggregation in
wireless sensor networks,” SN’08 Workshop at ICC-
CN, 2008.
[7] T. Niwat, T. Yoshito, and S. Kaoru, “Tree-based data
dissemination in wireless ssnsor networks,” Proceed-
ings of the IEICE General Conference (Institute of
Electronics, Information and Communication Engineers),
Vol. 2005, pp. S.41–S.42, 2005.
[8] K. Akkaya and M. Younis, “An energy aware QoS
routing protocol for wireless sensor networks,” ICDCS
Workshop’03, May 2003.
[9] R. Vidhyapriya and P. T. Vanathi, “Energy aware routing for
wireless sensor networks,” Signal Processing, Commun-
ications and Networking, ICSCN’07, International Confere-
nce on 22–24 February 2007, pp. 545–550, 2007.
[10] Y. H. Wang, C. P. Hsu, Y. C. Lin, C. S. Kuo, and H. Y.
Ho, “A routing method by reactive energy decision in
wireless sensor networks,” 21st International Conference
on Advanced Information Networking and Applications
Workshops, AINAW’07, IEEE, 2007.
[11] C. Wan, S. B. Eisenman, and A. T. Campbell, “CODA:
congestion detection and avoidance in sensor networks,”
In Proceedings of the 1st international Conference on
Embedded Networked Sensor Systems, Los Angeles,.
SenSys’03. ACM Press, New York, pp. 266–279, 05–07
November, 2003.
[12] M. I. Khan, W. N. Gansterer, and G. Haring, “Congestion
avoidance and energy efficient routing protocol for
wireless sensor networks with a mobile sink,” Journal of
Networks, Vol. 2, No. 6, pp. 42–49, 2007.
[13] R. Kumar, et al, “Mitigating performance degradation in
congested sensor networks,” IEEE Transactions on
Mobile Computing, Vol. 7, No. 6, pp. 682–697, 2008.
[14] A. Abbasi and M. Younis, “A survey on clustering
protocols for wireless sensor networks,” Vol. 30, Issues
14–15, pp. 2826–2841, 2007.
[15] A. H. Mohajerzadeh, M. H. Yaghmaee, and Z. Eskandari,
“Tree based energy efficient and congestion aware rout-
ing protocol for wireless sensor networks,” IEEE ICCS,
China, pp. 1707–1711, 2008.