You are on page 1of 5

IEEE - 35239

Priority-based Congestion Control Mechanism for


Wireless Sensor Networks using Fuzzy Logic
Majid Hatamian , Hamid Barati
Department

of Computer Engineering, Dezful Branch, Islamic Azad University, Dezful, Iran


E-mail: majid.hatamian.h@ieee.org, hbarati@iaud.ac.ir

AbstractIn this paper, a priority-based congestion control


mechanism for wireless sensor networks using fuzzy logic is
proposed. The proposed method tries to make a distinction
between locally generated data and transit data in such a
priority-based mechanism by providing a novel queueing model.
Moreover, two parameters are used as the inputs of fuzzy rate
controller: congestion score and buffer occupancy which are
based on total packet input rate, packet forwarding rate at
MAC layer, number of packets in the queue buffer, and total
buffer size at node. As soon as the congestion is detected by
the proposed congestion score relation, the notification signal is
sent to offspring nodes and they regulate their data transmission
rate to parent (sink) node. Simulation results clearly show that
the implementation of the proposed method using fuzzy logic,
has done significant reduction in terms of packet loss rate and
end-to-end delay.
Keywordswireless sensor network; congestion control; fuzzy
logic; rate adjustment.

I.

I NTRODUCTION

A wireless sensor network (WSN) is a set of sensor nodes


which are deployed in a geographical area to sense different
physical events and to monitor the environment. Because of the
nature of the many-to-one traffic in these networks, congestion
may affect a WSN in some cases. This situation leads to
the drop of packets with important information, as well as
the waste of the energy. To this end, in order to avoid these
problems, a congestion control protocol must be used [1], [2],
[3].
Several studies have been proposed on developing efficient
congestion control protocols for WSNs. Congestion Detection
and Avoidance in Sensor Networks (CODA) [4] includes
three mechanisms: receiver-based congestion detection, openloop hop-by-hop backpressure and closed-loop multi-source
regulation. CODA uses a combination of the present and past
channel loading conditions, and the current buffer occupancy to
conclude exact detection of congestion at each receiver. WSNs
must know the state of the channel, since the transmission
medium is shared and maybe congested with traffic between
other devices in the neighborhood. Listening to the channel to
measure local load causes high energy costs if performed all
the time. Therefore, CODA uses a sampling scheme that activates local channel monitoring at the convenient time to minimize cost while forming an exact estimate. Once congestion is
detected, nodes signal their upstream neighbors via a backpressure mechanism. In CODA, a node broadcasts backpressure
messages as long as it detects congestion. Backpressure signals
are propagated upstream toward the source. Nodes that receive
backpressure signals can adjust their sending rates or drop

packets based on the local congestion situations. CODA is an


energy-efficient method, but successful delivery of the packets
to the destination is not guaranteed.
CCSF [5] provided congestion control scheme based on
fuzzy logic theory using Fuzzy Inference System (FIS). This
scheme considered the current buffer occupancy status and
buffer changing trends. The latter metric reflects the congestion
changing trends, referred to as congestion index (CI), which is
defined as the ratio service time over inter-arrival time. Current
buffer occupancy and congestion index (CI) of each node
are taken as a fuzzy logic system input parameters in Fuzzy
Inference System. Then, the value of congestion degree based
on fuzzy logic (Fuzzy Congestion Degree, FCD) is acquired
after fuzzy logic processing. Finally, rate adjustment can be
made according to those decision values.
Event to Sink Reliable Transport (ESRT) [6] protocol
includes a congestion control component that serves the dual
purpose of achieving reliability and saving energy. ESRT
protocol operation is determined by the current network state
based on the reliability achieved and congestion condition
in the network. If the event-to-sink reliability is lower than
required, ESRT adjusts the report frequency of source nodes
in order to reach the target reliability level as soon as possible.
If the reliability is higher than required, then ESRT reduces
the report frequency in order to conserve energy while still
maintaining reliability. In ESRT, all sensor nodes monitor
their internal buffers to find traffic congestion. When traffic
congestion is detected, the result is sent to the sink node.
The sink node periodically configures the source sending
rate with broadcasts the congestion state to all sensor nodes.
After receiving the broadcast message, each sensor node tries
to reduce the data transmission rate. Due to the reduced
data traffic, the traffic congestion problem could be alleviated
gradually.
In [7], a distributed traffic-aware routing scheme with
a capacity of adjusting the data transmission rate of nodes
is proposed for multi-sink WSNs that effectively distribute
traffic from the source to sink nodes. This method is designed
through constructing a hybrid virtual gradient field using depth
and normalized traffic loading to provide a balance between
optimal paths and possible congestion on routes toward those
sinks. By considering the number of packets in queue, the
congestion degree and the average cumulative queue length, a
node informs its neighbors about both the distance cost from
itself to a sink and possible congestion.
Our Work: In this paper, a priority-based congestion control mechanism for WSNs using fuzzy logic is proposed. The
proposed method performs the congestion control operation

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A

IEEE - 35239

using fuzzy logic. First, we separate the whole traffic of


the network in two kinds: 1- locally generated data and 2transit data. The data generated from any source node is called
locally generated data and the data transmitted via intermediate
nodes is called transit data. In WSNs, the transit data has to
travel many hops to reach the sink. In this particular case,
dropping of such data leads to more energy dissipation. As
a result, it is important to give priority to these data during
routing procedure. Therefore, we propose a queueing model
for this purpose. Second, we propose a parameter which is
called congestion score. By this parameter, we will be able to
estimate the congestion level at every offspring node. Then, by
applying congestion score and buffer occupancy to proposed
fuzzy rate controller, we could control the data transmission
rate of offspring nodes. Finally, our method leads to reduce in
congestion at parent (sink) nodes. Our main contributions can
be summarized as follows:
In the proposed method, we used a parameter by considering
the total packet input rate and the packet forwarding rate by
combination of transit data and generated data queues at a
specific node. This is in contrast to the traditional congestion
control mechanisms.
Using fuzzy logic as a decision making method for data
transmission rate controlling by applying two inputs which has
not been used in any previous work as a method of congestion
controlling.
The above two solutions make the the proposed method more
affordable in terms of number of packet drops and end-to-end
delay than the other traditional congestion control mechanisms.
The rest of this paper is organized as follows. Section II
explains system model which is used in the proposed method.
Section III presents the proposed congestion control mechanism using fuzzy logic. In Section IV the proposed method
has been evaluated in terms of the following criteria: packet
loss rate and end-to-end delay. Finally, Section V concludes
this paper.
II.

As can be seen in Fig. 1, node G has 2 offsprings (nodes


C and D), or node A does not have any offspring node.
D
G
I
F
J

S = [NS1 , NS1 , NS1 , ..., NSn ],

(1)

where, n indicates the number of nodes. Consider n nodes


which are distributed in a geographic area. Our goal is to
select a less congestion route between these sensor nodes. Each
sensor node is shown by NSi , where 1 i n. In the model
of studied network, the following properties are assumed:
The sensor nodes are placed randomly and independently
in a given environment and are homogeneous (in terms of
computation power, processing and storage space).
The network structure consists of a sink and a number of
sensor nodes that communicate with each other.
The sensor nodes can use power control to change the
amount of transmit power.
When a sensor node transmits its data to the sink, then it is
called a child node and its upstream node is called its parent.
The number of the child nodes for a parent node S is shown
by C(S) as follows:
C(S) = [C1 , C2 , C3 , ..., Cc ].

Upstream traffic

Sink node

E
A

Fig. 1: Representation of many-to-one (upstream) traffic in


WSN.

In the model of studied network there are two types of


data: 1- locally generated data and 2- transit data. The data
generated from any source node is called locally generated
data and the data transmitted via intermediate nodes is called
transit data. In WSNs, the transit data has to travel many hops
to reach the sink. In this particular case, dropping of such data
leads to more energy dissipation. As a result, it is important
to give priority to these data during routing procedure.
In the proposed method, each node supports two types of
traffic include: locally generated data and transit data. The
proposed queuing model is placed between network layer and
data link layer (MAC sub-layer). Fig. 2 shows the queuing
model for a particular sensor node.
Generated Data

S YSTEM M ODEL

Consider one sink node and the set of sensor nodes which
are defined as follows:

Node i-1

Route Data

C
L
A
S
S
I
F
I
E
R

MAC

Generated Data Queue

...

Scheduler
...
Transit Data Queue

L
A
Y
E
R

Node i+1

Data

Network Layer

Fig. 2: Queuing model in the transport layer of proposed


method.

Generated data at the nodes and transit data are queued


separately in these two queues. The transit data queue has a
threshold level. As it can be seen in Fig. 3, when the queue
space is occupied above the threshold level, both queues are
utilized for storing transit data and all the packets in generated
queue are dropped. This is done in order to provide sufficient
space for transit traffic which are having high priority.
When the transit data queue occupancy falls down below
the threshold level, both queues are used in normal way. We
use the following equation to change priority between queues:

(2)
6th ICCCNT - 2015
July 13 - 15, 2015, Denton, U.S.A

PD (i) = TD (i) + LD (i),

(3)

IEEE - 35239

data packet. But in ECN, the notification signal is sent as


separate packet. In the proposed method, ICN is used to send
notification signal to all offspring nodes. When offspring nodes
received the notification signal, adjust their transmission rate
(by using the method will be explained). Since in ICN the
notification signal is sent along with the data packet, it is an
effective method than ECN. Because in ECN, the notification
signal is sent as separate packet and this imposes a heavy traffic
overhead in the network.

. . . . .

threshold level

Fig. 3: The threshold level of transit data queue.

where, PD (i) is the data priority estimator for node i, TD (i) is


the transit data through node i in current round, LD (i) is the
locally generated data by node i in current round, and are
the coefficients for TD (i) and LD (i), respectively. Moreover,
they are determined in a tentative way. It should be noted that:
+ = 1,

(4)

where, > . In our simulations = 0.8. It means when


transit data queue is filled to four fifth of its capacity, both
queues are utilized for storing transit data. By this value, the
congestion control scheme will not be initiated too early which
leads to extreme drop of generated packets or too late which
leads to drop of transit packets. The innovation in the queuing
model is that higher priority transit data always has a higher
chance of reaching the sink.
III.

T HE P ROPOSED C ONGESTION C ONTROL M ECHANISM

In this section, the proposed congestion control mechanism


is described and the parameters of data rate controller is
explained.
A. Congestion Score (CS)
Congestion Score (CS) describes the current congestion
level at each node i and is calculated for all offspring nodes.
CS is defined as follows:
CSi = (1

i
rin
) T,
rfi or

(5)

i
where, rin
represents total packet input rate to node i, and rfi or
indicates the packet forwarding rate at MAC layer by node i
i
during the time period T . Furthermore, rin
can be defined as
follows:
i
i
rin
= Rsi + Rtr
,
(6)

where, Rsi represents source traffic rate (generated by node


i
i), and Rtr
represents transit traffic rate of node i from its
offspring nodes. We can define occurrence or non-occurrence
of congestion as follows:
(
Congestion does not happen
if 0 CS 1
CS =
Congestion happens
if CS < 0.
(7)
i
If CS < 0, then rfi or < rin
and congestion happens.
i
Moreover, if 0 CS 1, then rfi or rin
and congestion
does not happen. As soon as the congestion is detected, the
notification signal is sent to offspring nodes. There are two
types of congestion notification signal: 1- Implicit Congestion
Notification (ICN) and 2- Explicit Congestion Notification
(ECN). In ICN, the notification signal is sent along with the

B. Buffer Occupancy
Consider two neighboring nodes. For example, node a
wants to send a packet to another node b (b neighbors(a)).
This is done only when node b has enough buffer size to store
the packet from a. With regard to buffer occupancy criterion in
routing procedure, packets will not drop at the receiver because
of buffer overflow. We define function BO(i) as the function
to denote the amount of buffer occupancy at node i as follows:
BO(i) =

i
NQ
,
NTi

(8)

i
represents number of packets in the queue buffer,
where, NQ
i
and NT represents total buffer size at node i. It is clear that
the value of BO(i) is always in the range [0, 1]. BO(i) at its
i
= NTi .
worst case is 1. Hence it means NQ

C. Rate Adjustment using Fuzzy Rate Controller


Fig. 4 shows the structure of fuzzy rate controller that
consists of four parts: fuzzifier, Fuzzy Rate Adjustment Inference System (FRAIS), rule base and defuzzifier. Fuzzifier maps
crisp inputs to corresponding fuzzy sets by assigning a degree
of membership for each fuzzy set. In a crisp set, an element is
either a member of the set or not. Also a membership function
is the relationship between the values of an element and its
degree of membership in a set. Rule base is an important part
of every fuzzy controller. In this paper, we show the rule base
in Table 1 by considering the relations between the congestion
score and buffer occupancy. Also, fuzzifier maps fuzzy values
to corresponding crisp values.

FRAIS
Congestion Score
Defuzzifier

Fuzzifier
Buffer Occupancy

Rule Base

Rate Adjustment

Fig. 4: The structure of fuzzy rate controller.

As it is mentioned before, those nodes that their CS value


is less than 0, are congestion prone nodes. In this particular
case, the offspring nodes will be informed using a notification
signal. When offspring nodes received the notification signal,
adjust their transmission rate using proposed Fuzzy Rate Adjustment Inference System (FRAIS). It is noteworthy that data

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A

IEEE - 35239

TABLE I: FRAIS Rules


B2
low
medium
high
low
medium
high
low
medium
high

B3
DVL
DL
DM
DL
DM
DH
DM
DH
DVH

0.5

0.1

0.2

0.3

0.5

0.4

0.5

0.6

0.7

0.8

0.9 1.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9 1.0

Buffer Occupancy (B2)

Congestion Score (B1)

transmission rate for each node can be regulated by adjustment


of data scheduler rate. Offspring nodes by using FRAIS will
be able to found out the severity of congestion. On other hand,
they will be able to decrease data transmission rate in order to
reduce congestion [9].

(a)

(b)
1.0

Degree of Membership

DM

DL

DVL

1) Fuzzification Process: Now, we want to use the Fuzzy


Logic (FS) as a method for data rate adjustment. Assume that
A1 , A2 , and A3 are crisp sets. Then B1 : A1 [0, 1], B2 :
A2 [0, 1] and B3 : A3 [0, 1] are called the membership
function of B1 , B2 and B3 , which define the fuzzy sets B1 ,
B2 and B3 of A1 , A2 and A3 .

DVH

DH

0.5

In order to perform fuzzification process, we should map


two crisp sets in fuzzy sets which their names are as below:

B2 = Buffer Occupancy {low, medium, high} .

high

B1 = Congestion Score {low, medium, high} .

medium

low

high

medium

Degree of Membership

B1
low
low
low
medium
medium
medium
high
high
high

low

Degree of Membership

No.
1
2
3
4
5
6
7
8
9

1.0

1.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9 1.0

Rate Adjustment (B3)

(c)

(9)
(10)

Fig. 5: Fuzzy membership functions for (a) congestion score,


(b) buffer occupancy, and (c) rate adjustment.

After applying inputs to the Fuzzy Inference System (FIS),


the output fuzzy set is obtained as below:
B3 = Rate Adjustment {DVL, DL, DM, DH.DVH} . (11)
The fuzzy variable Congestion Score has three fuzzy
states including: low, medium and high, and its membership
function is shown by Fig. 5(a).
The fuzzy variable Buffer Occupancy has three fuzzy
states including: low, medium and high, and its membership
function is shown by Fig. 5(b).
The output represents the rate adjustment value and
has five fuzzy states including: DVL (Decrease Very Low),
DL (Decrease Low), DM (Decrease Medium), DH (Decrease
High), and DVH (Decrease Very High). Also, its membership
function is shown by Fig. 5(c). It should be noted that all
values have been normalized between [0,1].
But to obtain the fuzzy system output, according to the
inputs applied to the system, we should define the fuzzy rules.
We have 9 fuzzy rules. Because we have two fuzzy sets and
each of them has 3 states respectively, the total number of
possible fuzzy inference rules is 9 (32 = 9). These 9 rules are
shown in Table 1.
We used trapezoidal function to shown these sets. The
trapezoidal function T is defined as below and has four
parameters [10]:
b
1
if b1 [, m1 ]

m1
1
if b1 [m1 , m2 ]
T (b1 , , m1 , m2 , ) =
(12)
b1
if b1 [m2 , ]

m2
0
otherwise.

In above definition, and are the valleys and m1 and m2


are the climaxes of the trapezoidal function. This trapezoidal
function mapping b1 in a value between [0, 1] and the degree
of membership called (b1 ) has been generated. In fact,
to obtain the membership degrees of B1 , B2 and B3 sets
( (b1 ) , (b2 ) , (b3 )) we should use of above relations. Then,
according to this membership degree, we can define B1 , B2
and B3 qualitatively. In this case, we will have for B1 :

m 
low = trap w : 0, 0, , m ,
2


m
m
medium = trap w : , m, m,
+m ,
(13)
2
2


m
high = trap w : m, m + , infinite, infinite .
2
Similarly, the above relations can be rewritten for B2 and B3 .
2) Defuzzification Process: Since AND logic used to
written fuzzy rules, to obtain (b3 ), we must discover the
minimum value between (b1 ) and (b2 ). Therefore we have:
b1 b2 = min (b1 , b2 ) .

(14)

Now, to obtain numerical result of our fuzzy system and


discover crisp output b3crisp , center of sums (COS) defuzzification method is used. In this method, the fuzzy logic controller
first calculates the geometric center of area (COA) for each
membership function, as following [9], [10]:
R
b (b3 ) b3 db3
COA = R 3
(15)
b3 (b3 ) .db3

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A

IEEE - 35239

Fuzzy logic controller calculates the area under the scaled


membership functions and within the range of the output variable, then uses the above equation to calculate the geometric
center of this area.

End-to-End Delay (second)

IV.

2
1.8

S IMULATION R ESULTS AND D ISCUSSIONS

1.6
1.4
1.2
1
0.8

CCSF

0.6

Proposed

0.4
0.2
0

The performance of the proposed method is compared to


CCSF [5] mechanism in terms of number of packet drops and
end-to-end delay. We performed simulations of the proposed
method using NS2 [11]. The number of nodes in simulated
network is 80 and they are randomly deployed in 50 50m2
field in which there are five source nodes and one sink
node. The available buffer size of each node is 50 packets.
Moreover, packet length is fixed at 250byte. We assume that
all nodes have no mobility since the nodes are fixed in the
most applications of WSNs.

Packet loss rate (packet per second)

Fig. 6 shows the packet loss rate for the proposed method
and CCSF. Since the proposed method is implemented by
a fuzzy logic based congestion detection mechanism and
notified the upstream nodes to prevent congestion, it can
control network packet loss rate. As it can be seen by Fig.
6, the proposed method packet loss rate is considerably less
than CCSF mechanism. In every single second of conducted
simulations, the performance of the proposed method is better
than CCSF in terms of packet loss rate. For example, in second
60, packet loss rate of CCSF is 58 packet per second. While
this value is 45 for the proposed method.

CCSF

[1]

[2]

[4]

Proposed

20

10
0
0

15

30

45

60

75

90

105

120

135

150

165

[5]

180

Time (seconds)

Fig. 6: Comparison in terms of packet drops.

Fig. 7 shows end-to-end delay for the proposed method


and CCSF. End-to-end delay mentions to the whole time taken
the data from the source node to the sink. It is obvious from
Fig. 7 that end-to-end delay of CCSF is more bigger than the
proposed method. For example, up to 15 seconds, there is no
end-to-end delay in the proposed method. But at the same
time CCSF method has the delay between 0 and 1.4 seconds.
Furthermore, delay dispersion of the proposed method is much
less than CCSF. The delay dispersion of the proposed method
is between 0 and 1.5 seconds. In the meanwhile, the delay
dispersion of CCSF is between 0 and 1.8 seconds.
V.

75

90

105

120

135

150

165

180

R EFERENCES

60

30

60

by applying congestion score and buffer occupancy to a fuzzy


rate controller, the congestion was controlled by adjusting the
data transmission rate of offspring nodes. Simulation results
clearly show that the proposed method is superior to CCSF
mechanism in terms of packet loss rate. As such, the proposed
method considerably decreased end-to-end delay compared to
CCSF.

70

40

45

Fig. 7: Comparison in terms of end-to-end delay.

80

50

30

Time (seconds)

[3]

90

15

[6]

[7]

[8]

[9]
[10]
[11]

S. Lonare, and G. Wahane, A survey on energy efficient routing protocols in wireless sensor networks, in Computing, Communications and
Networking Technologies Conference (ICCCNT), pp. 15, Tiruchengode,
India, July 2013.
M. Hatamian, H. Barati, and A. Movaghar, A new greedy geographical
routing in wireless sensor networks, Journal of Advances in Computer
Research, vol. 6, no. 1, pp. 918, 2015.
M. A. Kafia, D. Djenourib, J. B. Othmanc, A. Ouadjaouta, and N.
Badachea, Congestion detection strategies in wireless sensor networks:
a comparative study with testbed experiments, Procedia Computer
Science, vol. 37, pp. 168175, 2014.
C. Y. Wan, S. B. Eisenman, and A. T. Campbell, CODA: congestion
detection and avoidance in sensor networks, in Proceedings of the first
International Conference on Embedded Networked Sensor Systems, pp.
266279, CA, USA, Nov 2003.
J. Wei, B. Fan, and Y. Sun, A congestion control scheme based on
fuzzy logic for wireless sensor networks, in Proceedings of the 9th
International Conference on Fuzzy Systems and Knowledge Discovery
(FSKD 2012), pp. 501504, Sichuan, China, May 2012.
O. B. Akan, and I. F. Akyildiz, Event-to-sink reliable transport in
wireless sensor networks, IEEE/ACM Transactions on Networking, vol.
13, no. 5, pp. 10031016, 2005.
M. Gholipour, A. T. Haghighat, and M. R. Meybodi, Hop-by-hop
traffic-aware routing to congestion control in wireless sensor networks,
EURASIP Journal on Wireless Communications and Networking, vol.
2015, no. 15, pp. 113, 2015.
W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan, An
application-specific protocol architecture for wireless microsensor networks, IEEE Transactions on Wireless Communications, vol. 1, no. 4,
pp. 660670, 2002.
R. Rojas, Neural networks: a systematic introduction. Springer-Verlag,
Berlin and Halle, Berlin, 1996.
G. Chen, and T. T. Pham, Introduction to fuzzy sets, fuzzy logic, and
fuzzy control systems. CRC press, 2001.
McCanne.
S,
and
S.
Floyd,
ns
Network
Simulator.
http://www.isi.edu/nsnam/ns/.

C ONCLUSION

In this paper, a priority-based congestion control mechanism for wireless sensor networks using fuzzy logic was
proposed. Since the congestion plays an important role in
every WSN application, it is important to provide a method
for congestion controlling. We proposed a queueing model for
assigning priority to packets based on data value. Moreover,
6th ICCCNT - 2015
July 13 - 15, 2015, Denton, U.S.A

You might also like