(1) Sink broadcast probe message |
(2) Upon sink receives message from node u |
(3) if messagetype == ack then |
(4) if sum of received ack messages == neighbor number then |
(5) broadcast level update message in order to give the turn to first level |
(6) end if |
(7) else if messagetype == lupack |
(8) if sum of received lupack and lupnack messages == neighbor number then |
(9) broadcast level update message in order to give the turn to next level |
(10) end if |
(11) else if messagetype == lupnack then |
(12) if sum of received lupack and lupnack messages == neighbor number then |
(13) if all received messages are lupnack messages then |
(14) Terminate |
(15) else |
(16) broadcast level update message in order to give the turn to next level |
(17) end if |
(18) end if |
(19) end if |
(20) end Upon |
(21) Upon node u receives message from node |
(22) if messagetype == probe then |
(23) if message.level < v.level then |
(24) Insert node into parentlist and send ack message to node |
(25) end if |
(26) else if messagetype == lupack then |
(27) if sum of received lupack and lupnack messages == neighbor number then |
(28) broadcast lupack to parents |
(29) end if |
(30) else if messagetype == lupnack then |
(31) if sum of received lupack and lupnack messages == neighbors’ number then |
(32) if node u has not received any lupack message then |
(33) call Algorithm 2and broadcast lupnack to parents//∗Network coding |
(34) else |
(35) broadcast lupack to parents |
(36) end if |
(37) end if |
(38) else if messagetype == lup then |
(39) if node is one of the parents of node u then |
(40) if node u has no neighbor then broadcast lupnack message to parents |
(41) else if level of node u == received level value in lup message then |
(42) broadcast probe by the level value in message = level of node + 1 |
(43) else if level of node u < received value in lup message then |
(44) broadcast received lup message for forwarding to children nodes |
(45) end if |
(46) end if |
(47) else if messagetype == ack then |
(48) if ackNum == Neighbor number then |
(49) broadcast lupack message to parents |
(50) end if |
(51) end if |
(52) end Upon |