2. S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed, E. Syed Mohamed, A
Manikandan B and S. Rajesh
http://www.iaeme.com/IJEET/index.asp 62 editor@iaeme.com
Cite this Article: S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed,
E. Syed Mohamed, A Manikandan B and S. Rajesh, An Effective Reliable
Broadcast Code Dissemination In Wireless Sensor Networks. International
Journal of Electrical Engineering & Technology, 6(7), 2015, pp. 61-70.
http://www.iaeme.com/IJEET/issues.asp?JTypeIJEET&VType=6&IType=7
1. INTRODUCTION
A Wireless Sensor Network consists of autonomous sensors to monitor physical as
well as environmental conditions to cooperatively pass their data through the network
to a main location. The modern networks are bi-directional, thereby enabling the
control of sensor activity. The development of wireless sensor networks was
motivated by military applications such as battlefield surveillance are used in many
industrial and consumer applications, such as industrial process monitoring, control
and machine health monitoring. There are strong needs to develop wireless sensor
networks algorithms with optimization priorities biased to aspects besides energy
saving. Important concept used in wireless Sensor Networks (WSN) is code
Dissemination during which new code is wirelessly propagated to all target nodes in
the network. Flooding is one of key mechanisms that are widely used in various
wireless networks. It propagates a message throughout a network for various
purposes. Especially, flooding is usually leveraged to establish a route to the
destination for unicast routing. Similarly, when a node should inform other nodes of
its link state, its latest link information is flooded across the network. Due to its
viability, diverse flooding algorithms have been proposed in various wireless
networks including wireless sensor networks (WSN). Since the objective of flooding
is to make it sure that all the nodes in a network receive the same message, flooding is
generally performed by making all the nodes rebroadcast the received message.
However, this becomes inefficient as the node density increases, which is a typical
case in Wireless Sensor Networks (WSN). Another issue is that it is hard to achieve
high reliability because wireless links generally suffer from high error rates. Thus, to
achieve high reliability, retransmissions are often exploited. It is crucial to decide
which node to rebroadcast and how many times to retransmit the message in a
flooding mechanism, since the rebroadcasting of too many nodes and/or redundant
retransmissions may cause traffic implosion, which leads to unreliability and energy
inefficiency.
2. TRICKLE PROTOCOL
Trickle is a transmission scheduling algorithm developed for wireless sensor
networks. The Trickle algorithm determines when a message can be transmitted. In
Trickle, every node broadcasts advertisement messages that contain a metadata that
includes the version number of the code, at most once per period. If a node hears more
than k identical metadata before it transmits its advertisement, it suppresses its
broadcast and doubles the value of up to higher value, which is an upper bound for
trickle. If it hears a different metadata, it sets to lower value, which is a lower bound
for trickle. By increasing the broadcast interval, Trickle sends less number of
advertisement messages, thus saving energy. By decreasing, Trickle can update nodes
more quickly. So, there is a trade-off between the dissemination latency and energy to
be achieved. As in addition to the dissemination latency, increasing the value causes
some other problems such as message communication between two nodes, which
have different code versions. In Trickle, the number of advertisement message
3. An Effective Reliable Broadcast Code Dissemination In Wireless Sensor Networks
http://www.iaeme.com/IJEET/index.asp 63 editor@iaeme.com
increases linearly as a function of time, as the dissemination is irrespective of the
mission of the Wireless Sensor Networks (WSN) application.
3. TRICKLE ALGORITHM
When a node enters this state, it sets counter, which is a Trickle variable to 0 and sets
to lower bound value. In this state A sends an advertisement message periodically at a
random time between given period, if it has not heard k advertisement messages about
the same version number, that is, if counter < k, otherwise, it doubles to higher bound
value.
If node A becomes higher bound value, count is incremented by one.
If a node A receives an advertisement message from a node B, A compares the
received version number with its own. If the version number of B is bigger, then
A requests the code after a randomly chosen time between [0, R] then downloads
the code, and updates from B. If the version number of B is smaller, then A
broadcasts advertisement messages. If the version numbers are equal and if B
does not exist in its neighbourhood table, A adds B in its table, doubles value to
higher bound value and increments counter by one.
If a node A receives a request message from B, A sends the new code to B.
If a node A updates its code from B, it first clears its neighbourhood table and
then adds B in its table. It sets counter to 0, sets q to 0 and sets lower value.
If, during time, A does not send any advertisement message, it doubles up to
higher bound value. If value already equal to higher value, it increments count by
one and sets counter to 0.
4. DATA FORWARDING REQUEST
When a node (Say S) wants to send a message to Node (Say D), then Node S searches
its route table for a route to D. If there is no route then, S Initiates Data forwarding
Request (RREQ) with following steps.
Figure 1 Data Forwarding Request (RREQ)
IP addresses of S and D, Current sequence number of S and last known sequence
number of D
A broadcast ID from S. The Broadcast ID is incremented each time S sends Data
Forwarding Request (RREQ).
The broadcast ID, IP address pair of the source forms unique identifier for the
Data Forwarding Request (RREQ).
Node P receives request from Node S. P checks whether it has received this
request before. Each node stores (Broadcast ID, IP address) Pair for all the recent
Data Forwarding Request, it has received.
If node P has seen this Data Forwarding Request (RREQ), P discards this request.
Otherwise P processes this Data Forwarding Request (RREQ).
P sets up a reverse route entry in its route table for Source S.
4. S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed, E. Syed Mohamed, A
Manikandan B and S. Rajesh
http://www.iaeme.com/IJEET/index.asp 64 editor@iaeme.com
This entry contains internet protocol address and current sequence number of S,
number of hops to S and address of the neighbour from whom P gets Data
Forwarding Request (RREQ).
P can respond to Forwarding Request (RREQ) from S if D has an unexpired entry
for D in its route table.
The sequence number from D that P has not is less than the sequence number of
D that was in RREQ from S. This ensures there is no loop in the route.
If P satisfies both of these requirements, it unicasts response message back to S.
5. DATA REPLY REQUEST
Node D responds with a message to Node S (from figure 1) using following steps.
P can respond to Forwarding Request (RREQ) from S if D has an unexpired entry
for D in its route table.
The sequence number from D that P has not is less than the sequence number of
D that was in RREQ from S.
This ensures there is no loop in the route.
If P satisfies both of these requirements, it unicasts response message back to S.
If P cannot reply to RREQ from S, P increments the Hop count of RREQ and
broadcasts to its neighbours.
Node D always is able to send Data Reply Request (RREQ) to S, since it has the
highest sequence number.
If RREQ is lost, the source node S can try the route discovery for fixed number of
times.
6. DATA ERROR MESSAGE
The neighbourhood nodes are monitored. When a route that is active is lost, the
neighbourhood nodes are notified by route error message (RERR) on both sides of
link.
7. DATA FLOW DIAGRAMS
7.1. Activity Diagram
An activity diagram is used to model a large activities sequential work flow by
focusing on action sequences and respective action initiating conditions. The state of
an activity relates to the performance of each workflow step. An activity diagram is
represented by shapes that are connected by arrows. Arrows run from activity start to
completion and represent the sequential order of performed activities. Black circles
represent an initial workflow state. A circled black circle indicates an end state.
Rounded rectangles represent performed actions, which are described by text inside
each rectangle. A diamond shape is used to represent a decision, which is a key
activity diagram concept. Upon activity completion, a transition (or set of sequential
activities) must be selected from a set of alternative transitions for all use
cases. Activity diagram for system is represented in Figure 2. The activity starts with
Forwarding Data Request (RREQ). If request is same as previous, destination node
discards it. Otherwise, Destination node processes the current request and
acknowledges with response request.
5. An Effective Reliable Broadcast Code Dissemination In Wireless Sensor Networks
http://www.iaeme.com/IJEET/index.asp 65 editor@iaeme.com
Figure 2 Activity Diagram
8. OUTPUT SCREENSHOTS
Figure 4 indicates temperature at each node during transmission. It is observed that,
temperature of node decreases during each transmission resulting in Traffic
congestion. Common Point node transmits data during temperature is noted.
Receiving nodes in the subsequent steps are identified and temperature is noted. Drop
in temperature at each node indicates traffic congestion leading to loss of data
information.
Figure 3 Temperature of node in Trickle Protocol
Figure 4 indicates, message transmission process during data is transferred
between the nodes and acknowledgement is made for each unique successful
transmission.
Requests Data
Forward
Is Unique?
Process
Request
Stores
Request
Is Success?
Responds
Request
Responds Error
Message
Discards
Request
Yes
No
Yes
No
6. S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed, E. Syed Mohamed, A
Manikandan B and S. Rajesh
http://www.iaeme.com/IJEET/index.asp 66 editor@iaeme.com
Figure 4 Message Transmission and Acknowledgement
Figure 5 indicates, delay/ error message during message transmission.
Figure 5 Output Screen
9. RESULT AND ANALYSIS
9.1 Simulation Setup
Simulation is performed using NS2 simulations. In this simulation, Trickle protocol is
performed to assess: the number of advertisement packets transmitted, the
Acknowledgement for received Packets, Energy for each node, temperature for each
node is generated using carbon Monoxide generator and the completion time or
dissemination latency. Following scenarios were implemented during simulation.
Periodic Traffic: Each node periodically sends data packet, with the period
randomly selected between [0 . . . 1] min.
Event-based Traffic: Each node sends only one packet at a randomly selected
time between [λ, λ+1] min, where λ is the time the event occurred.
Event-based bursty traffic: Each node sends b packets, one packet per second,
after a randomly selected time between [λ,λ+1] min, where λ is the time the event
occurred. Events occur every λ min.
7. An Effective Reliable Broadcast Code Dissemination In Wireless Sensor Networks
http://www.iaeme.com/IJEET/index.asp 67 editor@iaeme.com
9.2 Metrics
In NS2 simulations, following metrics are used: The number of advertisement packets
transmitted, as the number of transmissions is directly related to energy consumption,
The number of discarded application, Packets as this metric captures the amount of
resources wasted as bandwidth and energy and (iii) completion time (dissemination
latency), which is another important criteria in network reprogramming, to enable the
network to work efficiently.
Figure 6 Comparison of Trickle with other Protocols
9.3 Number of Advertisement Packets
The number of advertisement packets where a node periodically sends one data
packet, with the period randomly chosen between [0 . . . 1] min in the network with
symmetric links. As can be observed, the number of advertisement packets Trickle
sends increases linearly with time, even when there is no new code in the network as
it can be observed in Trickle, the transmission of advertisement packets stop after
some time and never transmitted again, as long as there is no new code in the
network.
9.4 Code Dissemination Latency
Time for dissemination latency is noted from the point when a packet with the new
version is injected to the point when the last node in a network receives that packet,
referred as code dissemination latency. Latency observed under two scenarios:
Periodic traffic, and Bursty traffic. Trickle found to have very low dissemination
latency.
9.5Discussion
In Trickle, sending packets depends on the probability P. The value of P set to 1.
However, if there are many neighbours that are ready to send packets, then there
might be a collision, and it is a waste of resources such as energy and throughput.
Conversely, if P is set to a very small value, then nodes might not send packets and
the asymmetric link problem may not be solved. Thus, the value of P should be set
according to the density of the network. If the network is dense, P could be set to
small value as the number of neighbours of both might be large. And P could be set to
a large number if the network is sparse. In general, if the nodes in the network are
uniformly randomly distributed, then we can approximate the number of neighbouring
nodes of both nodes and can set P to an appropriate number as following. Let q be the
number of neighbours of a node. Let n1 and n2 be neighbours of each other. Then, if
the coverage area of a node is Πr2
, then the intersection of coverage areas of n1 and
n2 is 2Πr2
/3 − r2
√3 nodes in Πr2
, there are around q/3 nodes in 2Πr2
/3−r2
√(3/2) as
8. S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed, E. Syed Mohamed, A
Manikandan B and S. Rajesh
http://www.iaeme.com/IJEET/index.asp 68 editor@iaeme.com
shown in figure 5.3. Therefore, if there exists an asymmetric link between n1 and n2,
the neighbours of both should set their P to a number between 1 and 3/q, i.e., 1 ≥ P ≥
3/q. For example, if the number of neighbours of a node is q ≤ 3, then P should be set
to 1. if q = 30, then P ≥ 0.1.
Figure 7 Intersection of Coverage Areas in Trickle Protocol
Figures 8 displays Number of packets with probability 0 and 1. Figure 9 and 10
displays number of packets with low and high probability. Figure 12 displays
transmission graph.
Figure8 Number of Packets
Figure 9 Number of Packets with High varying Probability
Figure 10 Number of Packets with low varying Probability
9. An Effective Reliable Broadcast Code Dissemination In Wireless Sensor Networks
http://www.iaeme.com/IJEET/index.asp 69 editor@iaeme.com
Figure 11 Transmission Graph
10. CONCLUSIONS AND FUTURE WORK
Flooding in Wireless Sensor Networks (WSN) is leveraged to establish a route to the
destination for effective routing. Each node informs other nodes of link state, its latest
link, flooded across the network. Flooding is performed by making all nodes in
network receive same message. Trickle one of the important network protocols,
performs flooding the code, by a technique known as Code Dissemination. Code
dissemination in networking is the process of broadcasting message to different
nodes. During broadcast, there may be loss created at each node because of random
traffic created between the nodes. This leads to traffic implosion. This limitation is
reduced by using flooding scheme that achieve high reliability while reducing
redundant traffic by controlling the number of broadcasts. Probabilistic and
Opportunistic Flooding Algorithm (POFA) reduces the number of broadcasts while
satisfying the given target reliability. Thus, the sender is aware of Link error rates
between its one-hop neighbours and Link error rates between its one-hop and two-hop
neighbours. Assumption is made such that link error rates can be calculated based on
periodic message exchanges between sensor nodes for neighbour discovery and/or
synchronization. With the stable estimation of link error rate, the exchanges of link
information between neighbour nodes need not to be occurred frequently. This
implies that piggybacked flooding packet or periodic messages are sufficient to
exchange the link state in POFA. Thus, to avoid the cost associated with flooding,
much effort has been focused on opportunistic forwarding, which aims to reduce the
cost of forwarding while retaining high routing performance by forwarding messages
only to nodes that have high delivery probabilities.
REFERENCES
[1] Chi-Tsun Cheng, Tse, C.K., Lau, F.C.M. et al. A Delay-Aware Data Collection
Network Structure for Wireless Sensor Networks, Sensors Journal, IEEE, (11,
(3), pp.699, 710, March 2011.
[2] Yanchao Zhang, Yanchao Zhang et al. LR-Seluge: Loss-Resilient and Secure
Code Dissemination in Wireless Sensor Networks, Distributed Computing
Systems (ICDCS), 2011 31st International Conference, PP.497, 506, 20-24 June
2011.
[3] Abdallah N.O., Jmaiel M., Mosbah M., Zemmari A. et al. Greedy Flooding in
Redoubtable Sensor Networks, Advanced Information Networking and
Applications (AINA), 2014 IEEE 28th International Conference, Volume No.
PP.899, 906, 13-16 May 2014.
10. S. Syed Abdul Syed, Senthil Kumaran, A. Sarfaraz Ahmed, E. Syed Mohamed, A
Manikandan B and S. Rajesh
http://www.iaeme.com/IJEET/index.asp 70 editor@iaeme.com
[4] Ting Zhu, Ziguo Zhong, Tian He, Zhi-Li Zhang et al. Achieving Efficient
Flooding by Utilizing Link Correlation in Wireless Sensor Networks,
Networking, IEEE/ACM Transactions, 21(1), PP.121, 134, Feb. 2013.
[5] Sain Saginbekov, Arshad Jhumka et al. Efficient code dissemination in wireless
sensor networks, Future Generation Computer Systems, 39, October 2014.
[6] Dukhyun Chang, Kideok Cho, Nakjung Choi, Ted et al. Taekyoung, Kwona,
Yanghee Choi, A probabilistic and opportunistic flooding algorithm in wireless
sensor networks, 35(4), February 2012.
[7] Mrs.R.Rajasree, Dr.G.Kalivarathan. Analysis of Programming Aspects of
Wireless Sensor Networks and Non Uniformity Issues-A Feasible Study,
International journal of Electronics and Communication Engineering
&Technology (IJECET), 3(3), 2012, pp. 219-226.
[8] Kermajani, H., Gomez, C., Arshad M.H. et al. Modeling the Message Count of
the Trickle Algorithm in a Steady-State, Static Wireless Sensor Network,
Communications Letters, IEEE, 16(12), PP.1960, 1963, December 2012.
[9] Sandeep Mehra and Cn Khairnar. Analysis And Design of Ultra Low Power
ADC For Wireless Sensor Networks, International journal of Electronics and
Communication Engineering &Technology (IJECET), 4(1), 2013, pp. 264 - 275.
[10] Cong Liu, Jie Wu et al. On Multicopy Opportunistic Forwarding Protocols in
Nondeterministic Delay Tolerant Networks. Parallel and Distributed Systems,
IEEE Transactions. Parallel and Distributed Systems, IEEE Transactions, 23(6),
pp.1121, 1128, June 2012.
[11] Rohit D. Gawade and Dr. S. L. Nalbalwar. Mac Protocol Based Low Energy
Operations In Wireless Sensor Networks, International journal of Electronics
and Communication Engineering &Technology (IJECET), 5(3), 2014, pp. 79 -
93.
[12] Neeraj Tiwari, Rahul Anshumali and Prabal Pratap Singh. Wireless Sensor
Networks: Limitation, Layerwise Security Threats, Intruder Detection,
International journal of Electronics and Communication Engineering
&Technology (IJECET), 3(2), 2012, pp. 22-31.
[13] Wei Wang, Dongming Peng, Honggang Wang, Sharif H., Hsiao-Hwa Chen, et al.
Cross-layer multirate interaction with Distributed Source Coding in Wireless
Sensor Networks, Wireless Communications, IEEE Transactions, 8(2),
PP.787,795, Feb. 2009.