Forward Packet p 1: Get previous depth dp from p and node’s current depth dc from depth finder 2: Get α parameter value according to density and calculate the allowed depth clusters (via the method cleared by Figure 2) (Already, we assume the parameter is obtained from sink) 3: Compute d = (dp ? dc) 4: IF d < Depth Threshold dth & the receiving node of p is in each allowed depth cluster THEN 5: IF p is in Q1 THEN 6: Remove p from Q1 7: ENDIF 8: Drop p 9: return 10: ENDIF 11: IF p is in Q2 THEN 12: Drop p 13: return 14: ENDIF 15: Update p with current depth dc 16: Compute holding time HT 17: Compute sending time ST 18: IF p is in Q1 THEN 19: Get previous sending time of p STp 20: Update p’s sending time with min (ST, STp) 21: ELSE 22: Add the item into Q1 23: ENDIF |