EasiLPL: An Improved B

EasiLPL: An Improved B-MAC Protocol
Tianpu Li1,2
Wei Liu1,2
Li Cui1
1 Institute of Computing Technology, Chinese Academy of Sciences
2 Graduate University of Chinese Academy of Sciences
{tpli, lcui, liuwei_76}@ict.ac.cn
ABSTRACT
B-MAC [5] uses Low Power Listening (LPL) scheme
This paper analyzes the Low Power Listening (LPL) of B-MAC
which sends long preamble before the packet to notify
protocol and proposes a novel scheme, namely EasiLPL, to
receiver of the upcoming packet. B-MAC is easy to
improve the protocol. By revising certain preamble bytes to the
implement and flexible enough to be used in different
destination and source addresses of the packet, nodes can
applications. Hence it is one of the most widely used
determine whether or not it is the receiver when receiving
MAC protocols for WSN. This paper proposes an
preamble. Analytical and experimental study shows that when
improved scheme to reduce the energy consumption
using EasiLPL, the amount of overhearing bytes is irrelevant
level of B-MAC protocol.
to the preamble length and node keeps in sleep state much
The other parts of the paper are organized as
longer than B-MAC. At the same time, EasiLPL does not
following: Section 2 introduces B-MAC protocol and its
introduce additional delay compared with B-MAC and has no
shortcoming.
adverse influence on communication.
Section 4 evaluates the efficiency of the proposed
Section 3 presents an improved scheme.
scheme analytically and experimentally. Finally, section
1. INTRODUCTION
Wireless sensor network (WSN) [1] has become an
5 concludes the paper.
2. RELATED WORKS
increasingly important tool for human beings in many
areas such as target tracking, intrusion detection and
B-MAC duty cycles the radio through periodical
wildlife habitat monitoring. WSN can be deployed in
channel sampling called Low Power Listening (LPL).
severely bad environments that are difficult to be
Node wakes up at the end of sleep state, turns on the
accessed. There may have many redundant nodes in the
radio and checks for activity. If activity is detected, it
network. Thus it is impossible to replace or recharge
receives the upcoming packet and returns to sleep after
batteries in many cases. This means that the energy
reception or at the end of this listening period. If no
efficiency is the most important issue in protocol design.
activity is detected, a timeout forces the node back to
It has been proved that the radio module consumes
sleep [5]. Figure 1 shows the procedure. To assure the
major amount of energy [2]. [3, 4] listed the causes of
receiver turns to listening state, node transmits a long
energy waste. Overhearing unnecessary packets is the
preamble before the packet. The long preamble has two
dominant source of energy waste, especially when the
functions: one is for bit synchronizer and data decision,
traffic load and node density are high. Usually MAC
the other is for “waking up” the receiver. Therefore the
protocols reduce energy consumption by turning off the
duration of preamble must be longer than sleep time of
radio when there is no packet to transmit and receive.
the sleep/listen scheduling. In B-MAC protocol, the
Thus the question is how to assure that the receiver turns
listening time is fixed. Duty cycle is determined by sleep
to listening state before sender begins to transmit packets.
time. The preamble length is inversely proportional to
duty cycle.
Definition
2:
Busy-sleep
state.
When
node
However B-MAC LPL is not very energy efficient.
determines that it is not receiver of the packet during
On one hand, all neighbor nodes will turn to listening
receiving preamble, it turns off the radio and goes to
state during the transmission of preamble and receives
busy-sleep state.
the rest preamble and then the packet. This phenomenon
is
called
one-transmitting-all-neighbor-receiving
as
Definition 3: Busy-sleep time. The time that node
stays in busy-sleep state.
shown in Figure 2. For unicast packets, all neighbor
The scheme proposed in this paper, called EasiLPL,
nodes (except the receiver) waste energy in overhearing
also uses long preamble to “wake up” the destination
the preamble and packet. The higher the node density is
node. The difference between EasiLPL and B-MAC LPL
and the lower the duty cycle is, the more the energy is
is that EasiLPL advances the transmission of destination
wasted. Unfortunately, high node density and low duty
and source addresses of packet. Successive eight
cycle are the characteristics of WSN. On the other hand,
preamble
when node has packets to send, it stays in listening state
destination address, source address and the amount of
until successfully transmitting. When network traffic is
preamble left respectively every fixed interval. Now the
heavy, node keeps in listening state much longer time.
frame transferred in wireless channel is shown in Figure
For radio component, energy consumed in receiving is
3. If node receives preamble bytes, it follows B-MAC
almost equal to that of transmitting. The prolonged
routine. If node receives the revised part, it can make
listening state increases the energy waste. It is better to
decision whether or not it is the receiver of the upcoming
turn off radio under this situation.
packet. If the answer is yes, it continues the receiving
bytes are
revised
to
address symbol,
procedure; otherwise it turns off radio and goes into busy
Listen
Sleep
Sleep
Listen
Listen
Receiving
sleep state. Fig 4 shows the state transfer of reception
Packet
procedure.
Time
Frame
According to the fact that whether or not node has
packet to send at the beginning of busy sleep time, node
Figure 1 Periodic listen and sleep of B-MAC Protocol
can go through basic busy sleep (BBS) or extended busy
sleep (EBS). BBS time is equal to the duration of left
Preamble
Transmitting
Node
preamble and packet. The longest EBS time is the sum
Packet
of the duration of left preamble and frame time.
Time
Sleep
Receive Preamble and Packet
Neighbor Node
Time
Sleep
Receive Preamble and Packet
Neighbor Node
For the node that has packets to send at the beginning
of busy sleep, it goes through BBS and then wakes up,
listens to the channel. In order to mitigate the collision at
Time
Figure 2 One-transferring-all-neighbor-receiving
the beginning time of next contention period, the sleep
time used should be equal to BBS time plus a random
time. When having no packet to send at the beginning of
Preamble Address
Symbol
Destination
and source
Address
Preamble
left
busy sleep, node goes through extended busy sleep
Revised part
INTERVAL
Preamble
Address
Symbol
Destination
and source
Address
Preamble
left
(EBS). The earliest beginning time of next packet is
Preamble SYNC Packet
WORD
Figure 3 EasiLPL Frame
equal to the duration of left preamble plus frame time. A
long as node wakes up and listens to the channel before
this time, it can receive the packet. Nodes may generate
3. PROPOSED SCHEME
packet to send during extended busy sleep time. If node
generates packet during BBS, it can not wake up until
First of all, three definitions are introduced.
Definition 1: Frame-time. The amount of time
needed to transmit whole preamble and packet;
the end of BBS. After that, node can wake up
immediately when it has packet to send. The reason is
that during BBS the channel is busy and when node
wakes up, it can do nothing but wasting energy. After
is another important factor to be considered. During
BBS, the ongoing transmission will end. Another
setup nodes can not receive any byte. All these results
contention period begins. This algorithm reduces
the inequality ①.
transmission delay as well as prolongs the total sleep
time.
Inequality ② guarantees that there are at less N
preamble bytes between two adjacent revised parts.
Because one function of the preamble is bit
Node that starts listening to channel between two
synchronizer and data decision, node must receive a few
adjacent revised parts can turn into SYNC_STATE
preamble bytes before it can determine that preamble is
before or after receiving the revised part
being transmitted. The setup time of radio should also be
Last inequality means there are at less N preamble
considered. Therefore the BBS and EBS time node goes
bytes between the end of last revised part and the last
through is slightly shorter than the theoretical value.
preamble byte. Hence node that stars listening to channel
Figure 5 shows the neighbor node state when one
during the last revised part can receive at least N
node is transmitting. Compared with Figure 2, it can be
preamble bytes after the revised part and then
seen that all neighbor nodes, except the destination node,
synchronize with sender.。
receives less amount of bytes and stays in busy sleep
state during which nodes using B-MAC protocol
Time to work
receives the preamble and packet. This will reduce the
IDLE_STATE
energy wasted by overhearing and prolongs the sleep
Receive more than 2
preamble bytes
I am the destination.
time. Longer sleep time means less sleep/listen transfer
SYNC_STATE
which can reduce the energy needed to power up the
Receive
SYNC_WORD
Receive address
symbol
radio.
RX_ADDRESS
The revised part of preamble can not function as
RX_STATE
I am not the
destination node.
preamble. Each time node listens to channel, it will
Busy-Sleep State
receive less amount of preamble bytes which may be
less than needed to synchronize the receiver. Therefore
the revision of preamble must meet the following three
Figure 4 State transfer of the receiving procedure
inequalities.
L>R+S+2(N-1)
①
INTERVAL>R+N-1
②
Pre MOD INTERVAL>R+N-1
③
Where R is the length of the revised preamble part, L
Frame-Time
Sending node
Receiver
Preamble 1
Sleep
Listen and Receive
Preamble
is the amount of bytes received every time node listens
to channel, INTERVAL is the distance between two
Preamble 2
Packet 2
Receive
Packet
Basic Busy
Sleep Time
Node A
Listen and Receive
Sleep
Preamble
Busy Sleep
Stay in Busy-Sleep-State
enen new packet
generated to send
adjacent revised preamble parts, S is the amount of bytes
received during radio setups, Pre is preamble length and
Packet 1
Node B
Listen and Receive
Sleep
Preamble
Listen
Wake up immediately when
generating new packet to send
Busy Sleep
Extended Busy Sleep Time
N is the amount of successive preamble bytes that
receiver needs to detect the real preamble.
Inequality ① ensures that even one listening period
covers whole revised part, receiver can synchronize with
sender.
Figure 5 Neighbor node turns into busy-sleep state
immediately after it determines it is not the
destination of the packet during receiving preamble.
The worst-case scenario is that node listens to
the channel, receives N-1 preamble bytes and then the
When using EasiLPL, node receives few packets
revised part of preamble. Therefore it must guarantee
delivered to other nodes. There is one kind of routing
that node can receive at least N preamble bytes after the
protocol which determines the next hop routing by
revised part in one listening period. The radio setup time
snooping the amount of packets exchanged between
neighbors. Node can generate a fake packet using the
4.2 Experimental Results
received destination and source addresses and pass it to
routing protocol. Since this packet is generated inside
The performance of B-MAC, which is implemented
the node and is not transmitted by radio, it consumes
in TinyOS, and EasiLPL is evaluated with two
almost no extra energy.
topologies, namely star and multi-hop. The sensor node
used was EasiNode[6] using CC1000[7] for wireless
4. PERFORMANCE EVALUATION
communication. The bandwidth was 19.2kbps. The
length of packet used in experiment is 36B. We repeated
In this section, we present both analytical and
experimental results on the performance of EasiLPL and
B-MAC protocol.
each experiment 5 times and calculated the average as
the final result.
All the results show that EasiLPL
has no adverse influence on communication and is more
energy efficient than B-MAC protocol.
4.1. Analytical Results
Node wakes up and listens to channel during the
INTERVAL
Preamble
A
N-1
Preamble
Bytes
B
Revised
Preamble
Preamble
C
Revised
Preamble
Preamble
D
E
SYNC
WORD
Packet
Figure 6 Time point node listens to the preamble
transmission of preamble. According to the time node
listens to channel, there are five typical points, shown in
Receive at most
successively N-1
preamble bytes
Figure 6. At the point marked A, node can receive at
least successively N preamble bytes before revised part,
which is needed for the node to determine that it receives
preamble, and then go into SYNC_STATE. According to
B
Receive all the
revised part
C
Receive all the
revised part
can receive the packet correctly. At the point B and C,
Follow B-MAC
protocol routine
D
node can receives at less N preamble bytes after the
SYNC_STATE.
Receive successively N
preamble bytes
SYNC_
STATE
E
Figure 4, when receiver transfers to SYNC_STATE, it
revised part according to ① and ② and goes into
A
Receive successively
N preamble bytes
after the last revised
part
Figure 7 State transfer of receiving node
Node that starts listening to channel
during transmission of the last revised preamble part,
4.2.1 Star Topology
namely D, can also receive at less N preamble bytes in
the light of ③ and then go into SYNC_STATE. If node
In this experiment, each node sends 50 packets to
listens to channel after last revised preamble part, viz. E,
sink node; neighbor nodes do not exchange packets; sink
it follows the B-MAC protocol routine. Figure 7 shows
node does not send packet. Therefore all the received
the state transfer.
bytes are from overhearing. To illustrate the influence of
According to whether and when the node has packets
to send, busy sleep time is divided into BBS and EBS.
This classification guarantees node stays in sleep state
more time as well as can contend the channel timely.
node density on protocol performance, we tested 5 nodes
and 10 nodes respectively.
The preamble length tested was 94 bytes, 255 bytes,
375bytes, 495 bytes and 1212 bytes respectively.
From the discussion above, we can come to the
Successive eight preamble bytes are revised to address
following conclusion that EasiLPL has no adverse
symbol (2B), destination address (2B), source address
influence on data communication and does not introduce
(2B) and left preamble (2B) every 20 bytes. The max
additional delay.
data rate is one packet every two seconds. The listening
time of the duty cycle was 8ms. The setup time of
CC1000 was about 2ms. Therefore the net listening time
was 6ms during which node can receive 14 bytes. Node
70000
10 nodes network
60000
determining that it receives real preamble. The
50000
parameters used satisfy①,② and ③.
The
metrics
measured
are
total
amount
of
Sleep Time(ms)
must receive successively 3 preamble bytes before
40000
30000
20000
overhearing bytes by all nodes, the average sleep time of
10000
nodes and the packets received by sink node using
0
94
B-MAC and EasiLPL, respectively.
Table 1 The amount of packets received by sink node
5 nodes network
255
375
495
Preamble length (Byte)
1212
(a) Sleep time of node
(a) B-MAC
Amount
Packets
Amount
Packets
Length
of nodes
received
of nodes
received
94
10
500
5
250
255
10
496
5
249
375
10
492
5
246
495
10
480
5
241
1212
10
465
5
232
450000
Amount of Overhearing Bytes
Preamble
10 nodes network
400000
350000
300000
250000
200000
150000
100000
50000
0
94
(b) EasiLPL
Amount
Packets
Amount
Packets
Length
of nodes
received
of nodes
received
94
10
500
5
250
255
10
497
5
249
375
10
489
5
245
495
10
476
5
242
1212
10
462
5
233
255
375
495
Preamble length (Byte)
1212
(b) The amount of overhearing bytes
Figure 8 Experiment result of B-MAC. Five or
ten nodes and one sink node consist of a star
network.
250000
10 nodes network
5 nodes network
200000
From the experiment results, it is safe to draw the
Sleep Time (ms)
Preamble
5 nodes network
150000
100000
50000
following conclusions:
1
EasiLPL
has
no
adverse
influence
0
on
94
255
375
495
Preamble length (Byte)
1212
communication. Table 1 shows the amount of packets
received by sink node. It is clear that EasiLPL receives
(a) Sleep time of node
almost as same amount of packets as B-MAC. Thus the
comparison of EasiLPL and B-MAC can make sense.
bytes is proportional to the amount of neighbors and
INTERVAL, and is irrelevant to preamble length. The
reason is that in experiment all packets are delivered to
sink. Every time node detects preamble is being
transmitted,
it receives about INTERVAL bytes,
9000
Amount of Overhearing Bytes
2 When using EasiLPL, the amount of overhearing
8000
10 nodes network
5 nodes network
7000
6000
5000
4000
3000
2000
1000
0
94
255
375
495
Preamble length(Byte)
1212
determines it is not the receiver, turns to busy sleep time
and stops receiving the left preamble and packet..
(b) The amount of overhearing bytes
Figure 9 Experiment result of EasiLPL. Five or ten
nodes and one sink node consist of a star network.
3 With the increase of preamble length, EasiLPL is
sink node
0
much more energy efficient than B-MAC. When using
B-MAC, node must receive all the left preamble and
1
packet. As the preamble length grows, node receives
more bytes and keeps in sleep state shorter. When using
2
3
EasiLPL, the amount of overhearing bytes is irrelevant
to preamble length.
4
4.2.2 Multi-hop Topology
5
Figure 10 Multi-hop topology
The performance of EasiLPL is evaluated in a typical
Table 2 Experiment Result of Multi-hop topology
topology for WSN shown in Figure 10. In order to
eliminate the influence of routing control packets on the
Protocol
Date
Amount of
Average Sleep
Packets
Rate
Overhearing
Time(ms)
Received by
105,126,
performance, fixed routing is used in the experiment that
Packet/s
Bytes
is also given in Figure 10. In this experiment, the metric
0.5
1762637
54335
0.125
446579
72058
measured includes the amount of overhearing bytes, the
B-MAC
amount of packets received by sink node, the average
measure precise transmission delay. At the same time, a
synchronization
algorithm
is
needed
for
122,99,92
37,36,
30,31,34
sleep time of nodes and transmission delay. Because
sensor node is resource-contained, it is difficult to
Sink
0.5
681864
182820
EasiLPL
106,123,125,
100,89
0.125
109140
255596
the
36,37,32,29,
30
measurement which is beyond the scope of this paper.
For each sensor node, we recorded the total amount of
5. CONCLUSIONS
packets received by sink node in 5 minutes. When using
EasiLPL, if sink receives the same amount of packets
This paper analyzed the energy consumption of Low
delivered by every node as using B-MAC, it means the
Power Listening and proposed a scheme, called EasiLPL,
transmission delay is the same.
to reduce the energy waste and improve the performance
We tested the performance of both protocols with
of B-MAC protocol. EasiLPL revises successive eight
495B preamble length. Successive eight preamble bytes
preamble bytes to address symbol, destination address,
are revised to address symbol (2B), destination address
source address and left preamble length every fixed
(2B), source address (2B) and left preamble length (2B)
interval. Analytical and experimental study showed that
every 39 bytes. The parameters used satisfy①,② and
EasiLPL can reduce energy consumption greatly and has
③.
no adverse influence on communication. At the same
From Table 2, we can see that when using both
time, it does not need extra overhead.
protocols, sink receives same amount of packets
transferred by every node. This testifies the analytic
Acknowledgement
result that EasiLPL has no negative influence on
communication and introduces no transmission delay.
This work was supported by NSFC key project under
When using EasiLPL, the amount of overhearing bytes
Grant No. 60533110, NSFC general project under Grant
is about one-third or one-fourth of nodes using B-MAC
No. 60572060, CAS “Project of 100 Talents” and the
respectively. The average sleep time of nodes using
National Grand Fundamental Research 973 Program of
EasiLPL is almost three times longer than nodes using
China under Grant No.2006CB303000.
B-MAC. All these results show that EasiLPL is more
energy efficient than B-MAC protocol.
REFERENCE
[1]
Akyildiz, I.F, Weilian Su, Sankarasubramaniam,
Y, and Cayirci, E, “A survey on sensor networks”
Communications Magazine, IEEE, Volume: 40, Issue:
8, Aug. 2002 pp.102 – 114
[2]
D. Estrin, R. Govindan, J. Heidemann, and S.
Kumar, “Next century challenges: Scalable coordination
in sensor networks”, In: Proc. of 5th Annual ACM Int.
Confe. Mobile Computing Networking (MobiCom),
Seattle, WA, 1999. pp.263~270
[3]
Raghavendra, Cauligi S.; Sivalingam,
Krishna
M.;Znati, Taieb (Eds.) Medium Access Control in
Wireless
Sensor Networks. Wireless Sensor Networks,
Chapter 4, Wei Ye, and John Heidemann, Kluwer
Academic Publishers, May 2004.
[4]
M. Stemm, and R. H. Katz,
“Measuring and
reducing energy consumption of network interfaces in
hand-held devices”, IEICE Transactions on
Communications, E80-B (8), 1997,pp.1125-1131.
[5]
Jolastre, J Hill ,and D Culler, “Versatile Low
Power media Access for Wireless Sensor Networks”.
ACM Sensys 2004
[6]
www.easinet.cn
[7]
http://www.chipcon.com/