Research Article

Cooperative and Adaptive Network Coding for Gradient Based Routing in Wireless Sensor Networks with Multiple Sinks

Algorithm 1

The CoAdNC-GBR algorithm.
Activity 1. Previous hop (sinks, sinks’ neighbours, ): Encoding process
for ; ; do
Compute average number of neighbours () from existing
neighbour’s list
Use look-up table from Table 2 to determine best coding scheme ()
Select a finite field: Galois Field of order
(99.6% linear independence) (According to Table 1)
From the , select random coefficients ()
Linearly combine the coefficients with accumulated interest
messages () to give
Encoded packet: Sink ID concatenated
with payload
Broadcast encoded packet E
end for
Activity 2. Next hop: Cooperative decoding followed by new encoding process
if received correctly then
Extract value
if Any previously received then
Discard E
else
Start timer
start decoding sub-routine:
Retrieve coefficient matrix
if then
Compute of
Retrieve Rank of as:
if then
Apply Gaussian elimination method to retrieve
the interest messages
Save value.
Stop and reset timer
Repeat process in Activity 1 for next hop encoding
end if
else
if elapsed then
Discard
else
go back to step .
end if
end if
end if
else
Discard received data
end if