Abstract:
A network device configured to determine a transmit delay interval for the transmission of data over a wireless network. The network device includes an adaptive access control circuit configured to determine, during a predetermined time interval, an amount of data transmitted by the network device over the wireless network, determine, during the predetermined time interval, an amount of data received by the network device over the wireless network, determine a difference between the amount of data transmitted by the network device over the wireless network and the amount of data received by the network device over the wireless network, and adjust the transmit delay interval based on the difference.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 12/229,377, filed Aug. 22, 2008, which is a continuation of U.S. application Ser. No. 10/902,299, filed Jul. 29, 2004 (now U.S. Pat. No. 7,417,952). The disclosure of the above applications is incorporated herein by reference in its entirety. 
    
    
     BACKGROUND 
     The present invention relates generally to wireless data networks. More particularly, the present invention relates to adaptive multiple access techniques for wireless networks. 
     In typical wireless networks, the wireless network devices use a common frequency band, and so must employ mechanisms to share the band. The most common sharing scheme is specified by the IEEE 802.11 standard, and is referred to as Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA). According to CSMA/CA, a wireless network device monitors the band to determine whether other devices are transmitting. If no such transmissions are sensed, the wireless network device applies a back-off scheme then begins its intended transmission. 
     On receiving the packet without error, the recipient sends an acknowledgement (ACK) packet. If the wireless network device receives the ACK packet without error, the wireless network device begins its next transmission by monitoring the band again to determine whether other devices are transmitting. 
     However, if the wireless network device does not receive an ACK packet, or receives an ACK packet with errors, for example due to a collision with another station attempting to transmit on the band at the same time, the wireless network device waits for a random back-off interval and then re-sends the packet. Subsequent collisions require substantially longer back-off intervals. 
     The main disadvantage of CSMA/CA is that the back-off interval becomes longer, especially as the number of wireless devices in the wireless network increases, causing more collisions and reducing the performance of the wireless network. 
     SUMMARY 
     In general, in one aspect, the invention features a method, apparatus, and computer-readable media for wireless local-area network. It comprises a transmit circuit to transmit first data; a transmit counter to count an amount of the first data transmitted by the transmit circuit during a predetermined monitoring interval; a receive circuit to receive second data; a receive counter to count an amount of the second data received by the receive circuit during the predetermined monitoring interval; and an adaptive access control circuit to generate an access trigger signal at a time determined by the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval; and wherein the transmit circuit transmits third data according to the access trigger signal. 
     Particular implementations can include one or more of the following features. A media access controller comprises the apparatus. A wireless network device comprises the media access controller. The wireless network device is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. Implementations comprise a physical layer device to transmit the data. A wireless client comprises the wireless network device. A wireless access point comprises the wireless network device. Implementations comprise a transmit delay counter to store a transmit delay count representing the transmit delay interval; wherein the adaptive access control circuit computes the transmit delay count based on the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval; and wherein the adaptive access control circuit generates the access trigger signal at a time determined by the transmit delay interval. The adaptive access control circuit decrements the transmit delay counter by J counts when the amount of the first data counted by the transmit counter during the predetermined monitoring interval exceeds the amount of the second data counted by the receive counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. J=1. Each count of the transmit delay counter represents one microsecond. The adaptive access control circuit decrements the transmit delay counter by K counts when the amount of the second data counted by the receive counter during the predetermined monitoring interval exceeds the amount of the first data counted by the transmit counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. K=2. The adaptive access control circuit increments the transmit delay counter by L counts when the amount of the first data counted by the receive counter during the predetermined monitoring interval differs from the amount of the second data counted by the transmit counter during the predetermined monitoring interval by less than a predetermined traffic differential threshold value. L=1. Implementations comprise a further transmit counter to count an amount of third data transmitted by the transmit circuit to a wireless network device during a predetermined monitoring interval; a further receive counter to count an amount of fourth data received by the receive circuit from the wireless network device during the predetermined monitoring interval; and wherein the adaptive access control circuit calculates a further transmit delay interval based on the amount of the third data counted by the further transmit counter during the predetermined monitoring interval and the amount of the fourth data counted by the further receive counter during the predetermined monitoring interval; and wherein the transmit circuit transmits a access control signal representing the further transmit delay interval to the wireless network device. A media access controller comprises the apparatus. A wireless network device comprises the media access controller. The wireless network device is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. Implementations comprise a physical layer device to transmit the access control signal. A wireless access point comprises the wireless network device. Implementations comprise a transmit delay counter to store a transmit delay count representing the further transmit delay interval; wherein the adaptive access control circuit computes the transmit delay count based on the amount of the third data counted by the further transmit counter during the predetermined monitoring interval and the amount of the fourth data counted by the further receive counter during the predetermined monitoring interval; and wherein the access control signal represents the transmit delay count. The adaptive access control circuit decrements the transmit delay counter by J counts when the amount of the fourth data counted by the further receive counter during the predetermined monitoring interval exceeds the amount of the third data counted by the further transmit counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. J=1. Each count of the transmit delay counter represents one microsecond. The adaptive access control circuit decrements the transmit delay counter by K counts when the amount of the third data counted by the further transmit counter during the predetermined monitoring interval exceeds the amount of the fourth data counted by the further receive counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. K=2. The adaptive access control circuit increments the transmit delay counter by L counts when the amount of the fourth data counted by the further receive counter during the predetermined monitoring interval differs from the amount of the third data counted by the further transmit counter during the predetermined monitoring interval by less than a predetermined traffic differential threshold value. L=1. Implementations comprise the access control signal of claim. 
     In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a wireless network. It comprises a first wireless network device; and a second wireless network device; wherein the first wireless network device comprises a first transmit circuit to transmit first data to the second wireless network device, a transmit counter to count an amount of the first data transmitted by the transmit circuit to the second wireless network device during a predetermined monitoring interval, a first receive circuit to receive second data from the second wireless network device, a receive counter to count an amount of the second data received by the receive circuit from the second wireless network device during the predetermined monitoring interval, and an adaptive access control circuit to calculate a transmit delay interval based on the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval, and wherein the transmit circuit transmits an access control signal representing the transmit delay interval to the second wireless network device; and wherein the second wireless network device comprises a second transmit circuit to transmit third data to the first wireless network device, a second receive circuit to receive fourth data and control signals from the first wireless network device, wherein the second receive circuit receives the access control signal from the first wireless network device, an access control circuit to generate an access trigger signal at a time determined by the transmit delay interval in the access control signal, wherein the second transmit circuit transmits the third data according to the access trigger signal. 
     Particular implementations can include one or more of the following features. The first wireless network device is a wireless access point. The wireless access point is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. The second wireless network device is a wireless client. The wireless client is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. The first wireless network device further comprises a transmit delay counter to store a transmit delay count representing the transmit delay interval; wherein the adaptive access control circuit computes the transmit delay count based on the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval; and wherein the access control signal represents the transmit delay count. The adaptive access control circuit decrements the transmit delay counter by J counts when the amount of the second data counted by the receive counter during the predetermined monitoring interval exceeds the amount of the first data counted by the transmit counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. J=1. Each count of the transmit delay counter represents one microsecond. The adaptive access control circuit decrements the transmit delay counter by K counts when the amount of the first data counted by the transmit counter during the predetermined monitoring interval exceeds the amount of the second data counted by the receive counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. K=2. The adaptive access control circuit increments the transmit delay counter by L counts when the amount of the second data counted by the receive counter during the predetermined monitoring interval differs from the amount of the first data counted by the transmit counter during the predetermined monitoring interval by less than a predetermined traffic differential threshold value. L=1. 
     In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a wireless local-area network apparatus. It comprises a transmit circuit to transmit first data to a wireless network device; a transmit counter to count an amount of the first data transmitted by the transmit circuit to the wireless network device during a predetermined monitoring interval; a receive circuit to receive second data from the wireless network device; a receive counter to count an amount of the second data received by the receive circuit from the wireless network device during the predetermined monitoring interval; and an adaptive access control circuit to calculate a transmit delay interval based on the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval; and wherein the transmit circuit transmits an access control signal representing the transmit delay interval to the wireless network device. 
     Particular implementations can include one or more of the following features. A media access controller comprises the apparatus. A wireless network device comprises the media access controller. The wireless network device is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. The wireless network device further comprises a physical layer device to transmit the access control signal. A wireless access point comprises the wireless network device. Implementations comprise a transmit delay counter to store a transmit delay count representing the transmit delay interval; wherein the adaptive access control circuit computes the transmit delay count based on the amount of the first data counted by the transmit counter during the predetermined monitoring interval and the amount of the second data counted by the receive counter during the predetermined monitoring interval; and wherein the access control signal represents the transmit delay count. The adaptive access control circuit decrements the transmit delay counter by J counts when the amount of the second data counted by the receive counter during the predetermined monitoring interval exceeds the amount of the first data counted by the transmit counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. J=1. Each count of the transmit delay counter represents one microsecond. The adaptive access control circuit decrements the transmit delay counter by K counts when the amount of the first data counted by the transmit counter during the predetermined monitoring interval exceeds the amount of the second data counted by the receive counter during the predetermined monitoring interval by a predetermined traffic differential threshold value. K=2. Each count of the transmit delay counter represents one microsecond. The adaptive access control circuit increments the transmit delay counter by L counts when the amount of the second data counted by the receive counter during the predetermined monitoring interval differs from the amount of the first data counted by the transmit counter during the predetermined monitoring interval by less than a predetermined traffic differential threshold value. L=1. Implementations comprise the access control signal. 
     In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a wireless local-area network apparatus for a wireless network. It comprises a transmit circuit to transmit first data; a receive circuit to receive second data and control signals; wherein the receive circuit receives an access control signal, the access control signal representing a transmit delay interval; an access control circuit to generate an access trigger signal at a time determined by the transmit delay interval in the access control signal; and wherein the transmit circuit transmits according to the access trigger signal. 
     Particular implementations can include one or more of the following features. The transmit delay interval is based on an amount of the second data received during a predetermined monitoring interval and an amount of the first data transmitted during the predetermined monitoring interval. A media access controller comprises the apparatus. A wireless network device comprises the media access controller. The wireless network device is otherwise compliant with at least one standard selected from the group consisting of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. The wireless network device further comprises a physical layer device to transmit the access control signal to the wireless network. A wireless client comprises the wireless network device. Implementations comprise the access control signal. 
     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       DESCRIPTION OF DRAWINGS 
         FIG. 1  shows a network device in communication with a wireless network according to a preferred embodiment. 
         FIG. 2  shows a process for the wireless network device of  FIG. 1  according to a preferred embodiment. 
         FIG. 3  shows a wireless client in communication with a wireless access point over a wireless network according to a preferred embodiment. 
         FIG. 4  shows a process for the wireless client and wireless access point of  FIG. 3  according to a preferred embodiment. 
         FIG. 5  shows a packet for an access control signal according to a preferred embodiment. 
     
    
    
     The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. 
     DETAILED DESCRIPTION 
     Embodiments of the present invention employ adaptive techniques to determine the timing of transmissions to a wireless network. In particular, the timing of transmissions by a wireless network device to a wireless network are determined according to the amount of data the wireless network device transmits and receives, as described in detail below. 
       FIG. 1  shows a network device  102  in communication with a wireless network  104  according to a preferred embodiment. Network device  102  can be a wireless client, a wireless access point, or any other wireless-enabled device such as a laptop computer, personal digital assistant, and the like, and is preferably otherwise compliant with one or more of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20, which are incorporated by reference herein in their entirety. Network device  102  comprises a processor  106 , a media access controller (MAC)  108 , and a physical layer device (PHY)  110 . 
     MAC  108  comprises a conventional transmit circuit  112  and a conventional receive circuit  114  for transmitting data to, and receiving data from, wireless network  104 . MAC  108  also comprises an adaptive access control circuit  116 , which can be implemented in hardware, software, or any combination thereof. MAC  108  further comprises a received byte counter (RBC)  120 , a transmitted byte counter (TBC)  122 , a register  124  for storing a traffic differential threshold (TDT), a register  126  for storing a monitoring window length (MWL), and a transmit delay counter (TDC)  128 . PHY  110  comprises a conventional baseband processor  128 , a conventional radio frequency (RF) circuit  130 , and a conventional antenna  132 . 
     In the described embodiments, the registers and counters in MAC  108  employ the following units, although of course other units can be used. Received byte counter  120  counts the number of bytes of data received during a monitoring window. Transmitted byte counter  122  counts the number of bytes of data transmitted during the monitoring window. Register  124  stores the traffic differential threshold in terms of a number of bytes of data. Register  126  stores the monitoring window length in units of seconds. Transmit delay counter  128  stores a transmit delay interval in units of microseconds. 
       FIG. 2  shows a process  200  for wireless network device  102  according to a preferred embodiment. Adaptive access control circuit  116  initializes registers  124  and  126  and counter  128  to set initial values for MWL, TDT, and TDC, respectively (step  202 ). For example, MWL is set to 5 seconds, TDT is set to 64,000 bytes, and TDC is set to 190 microseconds. Adaptive access control circuit  116  initializes RBC and TBC to zero (step  204 ). 
     Counters  120  and  122  then count the amount of data received and transmitted, respectively, by wireless network device  102  over wireless network  104  during the monitoring interval specified by MWL (step  206 ). Adaptive access control circuit  116  then generates an access trigger signal  132  at a time determined by the counts RBC and TBC at the end of the monitoring interval. In particular, the values of RBC and TBC are used to set the value of TDC, which defines a transmit delay interval. Access trigger signal  132  is then asserted at the transmit delay interval, causing transmit circuit  112  to transmit. 
     Preferably the timing of access trigger signal  132  is determined in the following manner. In general, if TBC&gt;RBC, meaning that network device  102  is transmitting more data than it is receiving, then the value of TDC is reduced, thereby causing network device  102  to transmit more frequently. And if TBC&lt;RBC, meaning that network device  102  is transmitting less data than it is receiving, then the value of TDC is reduced more, which allows network device  102  to transmit more frequently. 
     In addition, the traffic differential threshold (TDT) is employed, as described in detail below. The use of TDT serves to reduce oscillations in the value of TDC, as well as providing a mechanism for increasing the value of TDC when appropriate. Thus at the end of each monitoring window, the following steps are taken. 
     If TBC−RBC&gt;TDT (step  208 ), meaning that the amount of data transmitted during the monitoring window exceeds the amount of data received during the monitoring window by more than the traffic differential threshold, then TDC is decremented by J units, thereby reducing the transmit delay interval by J microseconds (step  210 ). Process  200  then resumes at step  204 . 
     If RBC−TBC&gt;TDT (step  212 ), meaning that the amount of data received during the monitoring window exceeds the amount of data transmitted during the monitoring window by more than the traffic differential threshold, then TDC is decremented by K units, thereby reducing the transmit delay interval by K microseconds (step  214 ). Process  200  then resumes at step  204 . 
     If neither TBC−RBC&gt;TDT nor RBC−TBC&gt;TDT, meaning that the amount of data transmitted during the monitoring window differs from the amount of data received during the monitoring window by less than the traffic differential threshold, then TDC is incremented by L units, thereby increasing the transmit delay interval by L microseconds (step  216 ). Process  200  then resumes at step  204 . 
     Preferably J&lt;K. For example, J=1 and K=2. And in one example, L=1. Of course, other values can be used for J, K, and L. 
     In some embodiments, the transmit delay interval for a first wireless network device is adaptively set by a second wireless network device based on the amount of traffic exchanged by the two devices. For example, a wireless access point measures the amount of traffic exchanged with a client, computes a transmit delay interval for the client, and transmits a TDC value representing the transmit delay interval to the client. The client then uses the received TDC value to determine the timing of its access requests to the wireless network. One access point can provide such TDC values to multiple clients based on the amount of data exchanged with each client. One such embodiment is described below. 
       FIG. 3  shows a wireless client  302  in communication with a wireless access point  306  over a wireless network  304  according to a preferred embodiment. While devices  302  and  306  are discussed in terms of client and access point, embodiments of the present invention can be incorporated within other sorts of wireless network devices such as laptop computers, personal digital assistants, and the like. Wireless client  302  and wireless access point  306  are preferably otherwise compliant with one or more of IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11n, 802.16, and 802.20. 
     Wireless client  302  comprises a processor  106 A, a media access controller (MAC)  308 , and a physical layer device (PHY)  110 A. MAC  308  comprises a conventional transmit circuit  112 A and a conventional receive circuit  114 A. MAC  308  also comprises an access control circuit  312 , which can be implemented in hardware, software, or any combination thereof. MAC  308  further comprises a transmit delay counter (TDC)  314 . PHY  110 A comprises a conventional baseband processor  128 A, a conventional radio frequency (RF) circuit  130 A, and a conventional antenna  132 A. 
     Wireless access point  306  comprises a processor  106 B, a MAC  310 , and a PHY  110 B. MAC  310  comprises a conventional transmit circuit  112 B and a conventional receive circuit  114 B. MAC  310  also comprises an adaptive access control circuit  316 , which can be implemented in hardware, software, or any combination thereof. MAC  310  further comprises a received byte counter (RBC)  320 , a transmitted byte counter (TBC)  322 , a register  324  for storing a traffic differential threshold (TDT), a register  326  for storing a monitoring window length (MWL), and a transmit delay counter (TDC)  328 . PHY  110 B comprises a conventional baseband processor  128 B, a conventional RF circuit  130 B, and a conventional antenna  132 B. 
     In the described embodiments, the registers and counters in MAC  310  employ the following units, although of course other units can be used. Received byte counter  320  counts the number of bytes of data received from wireless client  302  during a monitoring window. Transmitted byte counter  322  counts the number of bytes of data transmitted to wireless client  302  during the monitoring window. Register  324  stores the traffic differential threshold in terms of a number of bytes of data. Register  326  stores the monitoring window length in units of seconds. Transmit delay counter  328  stores a transmit delay interval in units of microseconds. 
     While only one wireless client is shown in  FIG. 3 , it will be apparent to one skilled in the relevant arts after reading this description that wireless access point  306  can exercise adaptive access control over multiple clients. For example, wireless access point  306  can have TDC, RBC, and TBC counters for each client. Further, wireless access point  306  can use different values of MWL and TDT for each client if desired. 
       FIG. 4  shows a process  400  for wireless client  302  and wireless access point  306  according to a preferred embodiment. Adaptive access control circuit  316  initializes registers  324  and  326  and counter  328  to set initial values for MWL, TDT, and TDC, respectively (step  402 ). For example, MWL is set to 5 seconds, TDT is set to 64,000 bytes, and TDC is set to 190 microseconds. Adaptive access control circuit  316  initializes RBC and TBC to zero (step  404 ). 
     Counters  320  and  322  then count the amount of data received and transmitted, respectively, by wireless access point  306  from wireless client  302  over wireless network  304  during the monitoring interval specified by MWL (step  406 ). Adaptive access control circuit  316  then determines a value for TDC, which defines a transmit delay interval for wireless client  302 , based on the counts RBC and TBC at the end of the monitoring interval. Wireless access point  306  then transmits an access control signal comprising the value of TDC to wireless client  302 , which asserts its access trigger signal  132  at the transmit delay interval defined by TDC, causing transmit circuit  112 A to transmit. 
     Preferably the value of TDC is determined in the following manner. In general, if TBC&lt;RBC, meaning that wireless client  302  is transmitting more data than it is receiving (note that the counters TBC and RBC are counting data at the far end of the link with the controlled device, rather than at the controlled device as in the previously-described embodiment), then the value of TDC is reduced, thereby causing wireless client  302  to transmit more frequently. And if TBC&gt;RBC, meaning that wireless client  302  is transmitting less data than it is receiving, then the value of TDC is reduced more, which allows wireless client  302  to transmit more frequently. 
     In addition, the traffic differential threshold (TDT) is employed, as described in detail below. The use of TDT serves to reduce oscillations in the value of TDC, as well as providing a mechanism for increasing the value of TDC when appropriate. Thus at the end of each monitoring window, the following steps are taken. 
     If RBC−TBC&gt;TDT (step  408 ), meaning that the amount of data transmitted by wireless client  302  during the monitoring window exceeds the amount of data received by wireless client  302  during the monitoring window by more than the traffic differential threshold, then TDC is decremented by J units, thereby reducing the transmit delay interval by J microseconds (step  410 ). Wireless access point  306  then transmits an access control signal comprising TDC to wireless client  302  (step  418 ). Process  400  then resumes at step  404 . 
     If TBC−RBC&gt;TDT (step  412 ), meaning that the amount of data received by wireless client  302  during the monitoring window exceeds the amount of data transmitted by wireless client  302  during the monitoring window by more than the traffic differential threshold, then TDC is decremented by K units, thereby reducing the transmit delay interval by K microseconds (step  414 ). Wireless access point  306  then transmits an access control signal comprising TDC to wireless client  302  (step  418 ). Process  400  then resumes at step  404 . 
     If neither RBC−TBC&gt;TDT nor TBC−RBC&gt;TDT, meaning that the amount of data transmitted by wireless client  302  during the monitoring window differs from the amount of data received by wireless client  302  during the monitoring window by less than the traffic differential threshold, then TDC is incremented by L units, thereby increasing the transmit delay interval by L microseconds (step  416 ). Wireless access point  306  then transmits an access control signal comprising TDC to wireless client  302  (step  418 ). Process  400  then resumes at step  404 . 
     Preferably J&lt;K. For example, J=1 and K=2. And in one example, L=1. Of course, other values can be used for J, K, and L. 
     Preferably the access control signal comprises a packet having a predetermined format.  FIG. 5  shows one such packet  500  according to a preferred embodiment. Packet  500  comprises 2 n  fields, where n represents the number of clients. For each wireless client, packet  500  comprises an address field  502  and a TDC field  504 . Address field  502  comprises the 8-byte MAC address of the wireless client. TDC field  504  comprises the TDC value computed for the client by the wireless access point. 
     Of course, other formats can be used. For example, instead of generating one packet with 2n fields, wireless access point can generate one packet for each client where each packet has the 2 fields  502  and  504 . 
     In some embodiments, a device adaptively computes its own transmit delay interval as well as the transmit delay intervals for one for one or more other devices. For example, a wireless access point computes a transmit delay interval based on all the traffic sent and received by the wireless access point, for example as described above with respect to  FIGS. 1 and 2 . In addition, the wireless access point also measures the amount of traffic exchanged with each of its wireless clients, computes a transmit delay interval for each client based on the measurement for that client, and transmits a TDC value representing the respective transmit delay interval to each client, for example as described above with respect to  FIGS. 3 and 4 . Each client then uses the received TDC value to determine the timing of its transmissions to the wireless network. 
     Embodiments of the present invention can be used in ad hoc and infrastructure wireless networks, and can be used in conjunction with conventional back-off algorithms. Embodiments of the present invention can be used in some or all of the wireless network devices in a wireless network. Embodiments of the present invention increase network throughput substantially. In one wireless network comprising a wireless client and a wireless access point, an embodiment of the present invention raised the throughput of the network from 22 Mbps to 26 Mbps when implemented only in the wireless client, and to 31 Mbps when implemented in both the wireless client and the wireless access point. 
     The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). 
     A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.