a threshold q0 if q t is less than or equal to q0 then t is updated by a linear increase 205 if q t is greater than q0 then q t is compared 207 to a second threshold q1 if q t is greater than q1 then t is updated by an exponential decrease 209 if q t is less than or equal to q1 then q t u2212 dt is recalled 211 then q t is compared to q t u2212 dt 213 if q t is greater than or equal to q t u2212 dt then t is updated by an exponential decrease 215 if q t is less than q t u2212 dt then t is updated by a linear increase 217 in all cases the value of q t is then stored 219 the value oft is iterated by dt 221 then the update of t begins anew 201 referring to fig3 a flowchart for making a decision to transmit or discard a packet is presented first a packet arrives 301 the current value of the transmit probability t is fetched 303 a fresh random number r is generated by a random number generator 305 the value of r is fetched 307 t and r are compared 309 if t.