Patent ID: 8767546

Claim:
A method, comprising: associating a first contention window having a first size with a first application operating on a node in a network; associating a second contention window having a second size with a second application operating on the node, wherein the first size is different from the second size, and wherein the first and second contention windows are based on priorities of the first and second applications; transmitting a packet from the first application on the node in the network, the transmission following elapsing of the first contention window; waiting a timeout period without receipt of an acknowledgement of the packet; obtaining a quality metric of a link between the node and a destination node of the transmitted packet; checking a traffic density of a portion of the network including the link; reducing a short retry count maximum and a long retry count maximum if the quality metric is below a first threshold and the traffic density exceeds a second threshold; informing an upper layer of a transmission protocol of the quality metric; resizing the first contention window from the first size, the resizing based on input including the quality metric of the link and the traffic density, wherein resizing the first contention window comprises: distinguishing between transmission failures due to traffic collisions and transmission failures due to link quality issues; resizing the first contention window if transmission failures are due to traffic collisions; and retransmitting the packet after the resized first contention window elapses.