The exchange of information among nodes in a communications network is based upon the transmission of discrete packets of data from a transmitter to a receiver over a carrier according to one or more of many well-known, new or still developing protocols. In this context, a protocol consists of a set of rules defining how the nodes interact with each other based on information sent over the communication links.
Often, multiple nodes will transmit a packet at the same time and a collision occurs. During a collision, the packets are disrupted and become unintelligible to the other devices listening to the carrier activity. In addition to packet loss, network performance is greatly impacted. The delay introduced by the need to retransmit the packets cascades throughout the network to the other devices waiting to transmit over the carrier. Therefore, packet collision has a multiplicative effect that is detrimental to communications networks.
As a result, multiple international protocols have been developed to address packet collision, including collision detection and avoidance. Within the context of wired Ethernet networks, the issue of packet collision has been largely addressed by network protocols that try to detect a packet collision and then wait until the carrier is clear to retransmit. Emphasis is placed in collision detection, i.e., a transmitting node can determine whether a collision has occurred by sensing the carrier.
At the same time, the nature of wireless networks prevents wireless nodes from being able to detect a collision. This is the case, in part, because in wireless networks the nodes can send and receive but cannot sense packets traversing the carrier after the transmission has started. Another problem arises when two transmitting nodes are out of range of each other, but the receiving node is within range of both. In this case, a transmitting node cannot sense another transmitting node that is out of communications range.
IEEE 802.11 protocols are the basis for wireless network products using the Wi-Fi brand and are the world's most widely used wireless computer networking standards. With IEEE 802.11 packet collision features come deficiencies, like fairness. 802.11’s approach to certain parameters after each successful transmission may cause the node who succeeds in transmitting to dominate the channel for an arbitrarily long period of time. As a result, other nodes may suffer from severe short-term unfairness. Also, the current state of the network (e.g., load) is something that also should be factored. In general, there is a need for techniques to recognize network patterns and determine certain parameters that are responsive to those network patterns.
To help address these shortcomings, investigators at UC Santa Cruz (UCSC), have researched and developed new techniques for avoiding packet collisions while improving protocol fairness in a communications network. UCSC’s research looked at IEEE 802.11's most widely used medium access mechanism, the Carrier Sensing Multiple Access/Collision Avoidance (CSMA/CA) protocol. CSMA/CA arbitrates access to the shared communication medium using a contention-based, on-demand distributed mechanism. It’s known that IEEE 802.11's Binary Exponential Back-off (BEB) algorithm mitigates channel contention and prevent collisions of packets simultaneously transmitted by multiple stations. Moreover, the BEB delays the retransmission of a collided packet by a random time, chosen uniformly over n slots (n>1), where n is a parameter called a Contention Window or (CW).
Taking an objective approach to determining CWs that minimize back-off time and maximize network performance, UCSC’s techniques recognize network patterns and determine CWs that are responsive to those network patterns. In practice, the UCSC method avoids packet collisions by initializing first data indicating a plurality of fixed delay values in a range from a minimum delay to a maximum delay, determining a first applied delay for a first packet based on the first data, transmitting the first packet at a time based on the first applied delay, and adjusting the first data based on whether transmission of the first packet was successful. Depending on conditions and needs in the network, this technique may also incorporate the determination of a second applied delay for a second packet based on the adjusted first data, and subsequently transmit the second packet at a time based on the second applied delay. Moreover, the UCSC method can have further flexibility in that it adjusts the first data to incrementally promote shorter delay times when transmission of the first packet is successful, or incrementally promote longer delay times when transmission of the first packet is not successful, or both, whereby recent past transmission performance influences an applied delay.
|United States Of America