(1) aggregate signature stage |
(1) For each node Do |
(2) running aggregator determining algorithm which is is |
similar to cluster-head selection algorithm in [36]; |
(3) End for |
// now, nodes either belong to aggregators or belong to member nodes |
(4) For each member node Do |
(5) send its data as well as node ID, data time to its aggregator |
(6) End for |
(7) For each aggregator node Do |
(8) aggregate its member nodes’ data into a data packet |
using ID-based aggregate signature technology as [1]; |
(9) aggregate its member nodes’ abstract into an abstract |
using ID-based aggregate signature technology as [1]; |
(10) End for |
(2) stage |
(11) compute according to the using formula (17); |
// is the maximum retransmission times of |
(12) Let ; |
(13) select a set of values random from |
(14) select neighbor nodes with higher trust |
than the rest neighbor nodes; |
(15) send to each node in the set ; |
// begin abstract routing |
(16) For each in the set Do |
(17) While Do |
(18) select its highest trust of left (right) neighbor node ; |
(19) send to ; |
(20) ; |
(21) ; |
(22) End While |
(23) While is not sink Do |
(24) select its high trust and the nearest to sink neighbor ; |
(25) send to ; |
(26) ; |
(27) End While |
(28) End for //end abstract route to sink |
(29) select neighbor nodes with higher trust |
than the rest neighbor nodes; |
(30) send to each node in the set ; |
// begin data routing |
(31) For each in the set Do |
(32) While Do |
(33) select its highest trust of left (right) neighbor node ; |
(34) send to ; |
(35) ; |
(36) ; |
(37) End While |
(38) While is not sink Do |
(39) select its high trust & the nearest to sink neighbor ; |
(40) send to ; |
(41) ; |
(42) End While |
(43) End for //end data route to sink |
(44) Let ; |
(45) aggregator wait for the message from sink; |
(46) If message from sink indicate that data routing failure then |
(47) If |
(48) goto step ; |
(49) End if |
(50) End if |
(3) Trust computing stage |
(50) aggregator get a message from sink |
(51) If message from sink indicate that data routing failure then |
(52) ; |
// is the neighbor of that data routing through |
(53) Else |
(54) ; |
(55) End if |