//pre-computed thresholds in buffers, s.t. |
THaverage THstdeva THcounter //pre-computed thresholds |
//LIs maintained by nodes |
//state matrix for all buffers in a node |
(1) while true do |
(2) if average(S) > THaverage then //Line 2–11 decide according to all buffer states |
(3) ; //increase the weight of leisure degrees under large mean |
(4) else if 0 < average(S) <= THaverage then //small but positive mean |
(5) if stdeva(S) > THstdeva then ; |
(6) end if |
(7) else if stdeva(S) > THstdeva then //negative mean |
(8) ; |
(9) else ; //increase the weight of priorities under large deviation |
(10) end if |
(11) end if |
(12) if >= THcounter then ; //PLR alarm counter exceeds threshold |
(13) else ; |
(14) end if |
(15) if state == inbuffer(arrive_packet(i)) then ; //regular receiving |
(16) else if state == drop(arrive_packet(i)) then //when packet-loss detected |
(17) if ()/ then ; //increase counter value |
(18) else ; //else reduce counter value |
(19) end if |
(20) ; //updating real-time packet-loss state in buffer |
(21) ; //space of flow is selected with a probability as in equation |
(22) while > then //Line 22–30 processes practical space transfer |
(23) if then //occupying spaces from lower level flows |
(24) for to do ; |
(25) end for |
(26) else if then //occupying spaces from higher level flows |
(27) for to do ; |
(28) end for |
(29) end if |
(30) end while |
(31) for to 1 do ; //Line 31–33 update LIs in buffers of flow |
(32) end for |
(33) ; |
(34) end if |
(35) end while |