Systems and methods for reducing collisions after traffic indication map paging

Systems, methods, and devices for reducing collisions in a wireless communications network are described herein. In some aspects, a processor is configured to decrementing a value of a counter if a channel of a wireless communications network is idle for at least an extended slot time. The processor may be further configured to generate a polling request and allow the transmission of the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value.

BACKGROUND

The present application relates generally to wireless communications, and more specifically to systems, methods, and devices for performing collision avoidance in a wireless communication network.

The devices in a wireless network may transmit/receive information between each other. Further, devices that are not actively transmitting/receiving information in the wireless network may enter a doze state, to conserve power, where the devices do not actively transmit/receive information in the doze state. These devices may further utilize paging messages to determine when to wake up from a doze state and enter an awake state in order to transmit/receive data. Thus, improved systems, methods, and devices for reducing collisions are desired.

SUMMARY

The systems, methods, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, some features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description” one will understand how the features of this invention provide advantages that include improved paging for devices in a wireless network.

One aspect of this disclosure provides a wireless communications device. The wireless communications device comprises a memory configured to store a value of a counter. The wireless communications device further comprises a processor coupled to the memory. The processor is configured to decrement the value of the counter if a channel of a wireless communications network is idle for at least an extended slot time. A starting value of the counter is based on a position of an index corresponding to the wireless communications device in an information element. The processor is further configured to generate a polling request. The polling request is transmitted to an access point over the wireless communications network when the value of the counter reaches a threshold value.

Another aspect of this disclosure provides a method for reducing collisions in a wireless communications network. The method comprises decrementing a value of a counter if a channel of a wireless communications network is idle for at least an extended slot time. A starting value of the counter is based on a position of an index corresponding to a wireless communications device in an information element. The method further comprises generating a polling request. The method further comprises transmitting the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value.

Another aspect of this disclosure provides an apparatus configured to reduce collisions in a wireless communications network. The apparatus comprises means for decrementing a value of a counter if a channel of a wireless communications network is idle for at least an extended slot time. A starting value of the counter is based on a position of an index corresponding to a wireless communications device in an information element. The apparatus further comprises means for generating a polling request. The apparatus further comprises means for transmitting the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value.

Another aspect of this disclosure provides a non-transitory computer readable medium comprising instructions or code that, when executed, causes an apparatus to decrement a value of a counter if a channel of a wireless communications network is idle for at least an extended slot time. A starting value of the counter is based on a position of an index corresponding to a wireless communications device in an information element. The medium further comprises code that, when executed, causes the apparatus to generate a polling request. The medium further comprises code that, when executed, causes the apparatus to transmit the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value.

Another aspect of this disclosure provides a wireless communications device. The wireless communications device comprises a receiver configured to detect messages transmitted on a channel of a wireless communications network. The wireless communications device further comprises a processor coupled to the receiver. The processor is configured to generate a polling request. The processor is further configured to determine an adaptive enhanced inter-frame space (AEIFS) each time the wireless communications device detects another message transmitted on the channel of the wireless communications network in which the wireless communications device communicates. An initial duration of the AEIFS is based on a position of the wireless communication device in an information element. The polling request is transmitted to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open.

Another aspect of this disclosure provides a method for reducing collisions in a wireless communications network. The method comprises generating a polling request. The method further comprises determining an adaptive enhanced inter-frame space (AEIFS) each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates. An initial duration of the AEIFS is based on a position of the wireless communication device in an information element. The method further comprises transmitting the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open.

Another aspect of this disclosure provides an apparatus configured to reduce collisions in a wireless communications network. The apparatus comprises means for generating a polling request. The apparatus further comprises means for determining an adaptive enhanced inter-frame space (AEIFS) each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates. An initial duration of the AEIFS is based on a position of the wireless communication device in an information element. The apparatus further comprises means for transmitting the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open.

Another aspect of this disclosure provides a non-transitory computer readable medium comprising instructions or code that, when executed, causes an apparatus to generate a polling request. The medium further comprises code that, when executed, causes an apparatus to determine an adaptive enhanced inter-frame space (AEIFS) each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates. An initial duration of the AEIFS is based on a position of the wireless communication device in an information element. The medium further comprises code that, when executed, causes an apparatus to transmit the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open.

DETAILED DESCRIPTION

Popular wireless network technologies may include various types of wireless local area networks (WLANs). A WLAN may be used to interconnect nearby devices together, employing widely used networking protocols. The various aspects described herein may apply to any communication standard, such as a wireless protocol.

In some aspects, wireless signals in a sub-gigahertz band may be transmitted according to the 802.11ah protocol using orthogonal frequency-division multiplexing (OFDM), direct-sequence spread spectrum (DSSS) communications, a combination of OFDM and DSSS communications, or other schemes. Implementations of the 802.11ah protocol may be used for sensors, metering, and smart grid networks. Advantageously, aspects of certain devices implementing the 802.11ah protocol may consume less power than devices implementing other wireless protocols, and/or may be used to transmit wireless signals across a relatively long range, for example about one kilometer or longer.

In some implementations, a WLAN includes various devices which are the components that access the wireless network. For example, there may be two types of devices: access points (“APs”) and clients (also referred to as stations, or “STAs”). In general, an AP may serve as a hub or base station for the WLAN and an STA serves as a user of the WLAN. For example, an STA may be a laptop computer, a personal digital assistant (PDA), a mobile phone, etc. In an example, an STA connects to an AP via a WiFi (e.g., IEEE 802.11 protocol such as 802.11ah) compliant wireless link to obtain general connectivity to the Internet or to other wide area networks. In some implementations an STA may also be used as an AP.

An access point (“AP”) may also comprise, be implemented as, or known as a NodeB, Radio Network Controller (“RNC”), eNodeB, Base Station Controller (“BSC”), Base Transceiver Station (“BTS”), Base Station (“BS”), Transceiver Function (“TF”), Radio Router, Radio Transceiver, or some other terminology.

A station “STA” may also comprise, be implemented as, or known as an access terminal (“AT”), a subscriber station, a subscriber unit, a mobile station, a remote station, a remote terminal, a user terminal, a user agent, a user device, user equipment, or some other terminology. In some implementations an access terminal may comprise a cellular telephone, a cordless telephone, a Session Initiation Protocol (“SIP”) phone, a wireless local loop (“WLL”) station, a personal digital assistant (“PDA”), a handheld device having wireless connection capability, or some other suitable processing device connected to a wireless modem. Accordingly, one or more aspects taught herein may be incorporated into a phone (e.g., a cellular phone or smartphone), a computer (e.g., a laptop), a portable communication device, a headset, a portable computing device (e.g., a personal data assistant), an entertainment device (e.g., a music or video device, or a satellite radio), a gaming device or system, a global positioning system device, or any other suitable device that is configured to communicate via a wireless medium.

As discussed above, certain of the devices described herein may implement the 802.11ah standard, for example. Such devices, whether used as an STA or AP or other device, may be used for smart metering or in a smart grid network. Such devices may provide sensor applications or be used in home automation. The devices may instead or in addition be used in a healthcare context, for example for personal healthcare. They may also be used for surveillance, to enable extended-range Internet connectivity (e.g. for use with hotspots), or to implement machine-to-machine communications.

FIG. 1shows an exemplary wireless communication system100in which aspects of the present disclosure may be employed. The wireless communication system100may operate pursuant to a wireless standard, for example the 802.11ah standard. The wireless communication system100may include an AP104, which communicates with STAs106.

A variety of processes and methods may be used for transmissions in the wireless communication system100between the AP104and the STAs106. For example, signals may be sent and received between the AP104and the STAs106in accordance with OFDM/OFDMA techniques. If this is the case, the wireless communication system100may be referred to as an OFDM/OFDMA system. Alternatively, signals may be sent and received between the AP104and the STAs106in accordance with CDMA techniques. If this is the case, the wireless communication system100may be referred to as a CDMA system.

A communication link that facilitates transmission from the AP104to one or more of the STAs106may be referred to as a downlink (DL)108, and a communication link that facilitates transmission from one or more of the STAs106to the AP104may be referred to as an uplink (UL)110. Alternatively, a downlink108may be referred to as a forward link or a forward channel, and an uplink110may be referred to as a reverse link or a reverse channel.

The AP104may act as a base station and provide wireless communication coverage in a basic service area (BSA)102. The AP104along with the STAs106associated with the AP104and that use the AP104for communication may be referred to as a basic service set (BSS). It should be noted that the wireless communication system100may not have a central AP104, but rather may function as a peer-to-peer network between the STAs106. Accordingly, the functions of the AP104described herein may alternatively be performed by one or more of the STAs106.

The AP104may transmit a beacon signal (or simply a “beacon”), via a communication link such as the downlink108, to other nodes STAs106of the system100, which may help the other nodes STAs106to synchronize their timing with the AP104, or which may provide other information or functionality. Such beacons may be transmitted periodically. In one aspect, the period between successive transmissions may be referred to as a superframe. Transmission of a beacon may be divided into a number of groups or intervals. In one aspect, the beacon may include, but is not limited to, such information as timestamp information to set a common clock, a peer-to-peer network identifier, a device identifier, capability information, a superframe duration, transmission direction information, reception direction information, a neighbor list, and/or an extended neighbor list, some of which are described in additional detail below. Thus, a beacon may include information both common (e.g. shared) amongst several devices, and information specific to a given device.

In some aspects, a STA106may be required to associate with the AP104in order to send communications to and/or receive communications from the AP104. In one aspect, information for associating is included in a beacon broadcast by the AP104. To receive such a beacon, the STA106may, for example, perform a broad coverage search over a coverage region. A search may also be performed by the STA106by sweeping a coverage region in a lighthouse fashion, for example. After receiving the information for associating, the STA106may transmit a reference signal, such as an association probe or request, to the AP104. In some aspects, the AP104may use backhaul services, for example, to communicate with a larger network, such as the Internet or a public switched telephone network (PSTN).

FIG. 2shows an exemplary functional block diagram of a wireless device202that may be employed within the wireless communication system100ofFIG. 1. The wireless device202is an example of a device that may be configured to implement the various methods described herein. For example, the wireless device202may comprise the AP104or one of the STAs106.

The wireless device202may also include a housing208that may include a transmitter210and/or a receiver212to allow transmission and reception of data between the wireless device202and a remote location. The transmitter210and receiver212may be combined into a transceiver214. An antenna216may be attached to the housing208and electrically coupled to the transceiver214. The wireless device202may also include (not shown) multiple transmitters, multiple receivers, multiple transceivers, and/or multiple antennas.

The transmitter210may be configured to wirelessly transmit messages, which may be referred to as “paging messages” that are configured to indicate to wireless devices whether or not the wireless devices need to wake up from a doze state and enter an awake state as discussed below. For example, the transmitter210may be configured to transmit paging messages generated by the processor204, discussed above. When the wireless device202is implemented or used as a STA106, the processor204may be configured to process paging messages. When the wireless device202is implemented or used as an AP104, the processor204may also be configured to generate paging messages.

The receiver212may be configured to wirelessly receive paging messages.

The wireless device202may also include a signal detector218that may be used in an effort to detect and quantify the level of signals received by the transceiver214. The signal detector218may detect such signals as total energy, energy per subcarrier per symbol, power spectral density and other signals. The wireless device202may also include a digital signal processor (DSP)220for use in processing signals. The DSP220may be configured to generate a packet for transmission. In some aspects, the packet may comprise a physical layer data unit (PPDU).

The wireless device202may further comprise a user interface222in some aspects. The user interface222may comprise a keypad, a microphone, a speaker, and/or a display. The user interface222may include any element or component that conveys information to a user of the wireless device202and/or receives input from the user.

The various components of the wireless device202may be coupled together by a bus system226. The bus system226may include a data bus, for example, as well as a power bus, a control signal bus, and a status signal bus in addition to the data bus. Those of skill in the art will appreciate the components of the wireless device202may be coupled together or accept or provide inputs to each other using some other mechanism.

Although a number of separate components are illustrated inFIG. 2, those of skill in the art will recognize that one or more of the components may be combined or commonly implemented. For example, the processor204may be used to implement not only the functionality described above with respect to the processor204, but also to implement the functionality described above with respect to the signal detector218and/or the DSP220. Further, each of the components illustrated inFIG. 2may be implemented using a plurality of separate elements.

The wireless device202may comprise an AP104or an STA106, and may be used to transmit and/or receive communications including paging messages. That is, either AP104or STA106may serve as transmitter or receiver devices of paging messages. Certain aspects contemplate signal detector218being used by software running on memory206and processor204to detect the presence of a transmitter or receiver.

The STA106may have a plurality of operational modes. For example, the STA106may have a first operational mode referred to as an active mode. In the active mode, the STA106may always be in an “awake” state and actively transmit/receive data with the AP104. Further, the STA106may have a second operational mode referred to as a power save mode. In the power save mode, the STA106may be in the “awake” state or a “doze” or “sleep” state where the STA106does not actively transmit/receive data with the AP104. For example, the receiver212and possibly DSP220and signal detector218of the STA106may operate using reduced power consumption in the doze state. Further, in the power save mode, the STA106may occasionally enter the awake state to listen to messages from the AP104(e.g., paging messages) that indicate to the STA106whether or not the STA106needs to “wake up” (e.g., enter the awake state) at a certain time so as to be able to transmit/receive data with the AP104.

Accordingly, in certain wireless communication systems100, the AP104may transmit paging messages to a plurality of STAs106in a power save mode in the same network as the AP104, indicating whether or not there is data buffered at the AP104for the STAs106. The STAs106may also use this information to determine whether they need to be in an awake state or a doze state. For example, if an STA106determines it is not being paged, it may enter a doze state. Alternatively, if the STA106determines it may be paged, the STA106may enter an awake state for a certain period of time to receive the page and further determine when to be in an awake state based on the page. Further, the STA106may stay in the awake state for a certain period of time after receiving the page. In another example, the STA106may be configured to function in other ways when being paged or not being paged that are consistent with this disclosure.

In some aspects, paging messages may comprise a bitmap (not shown in this figure), such as a traffic identification map (TIM). In certain such aspects, the bitmap may comprise a number of bits. These paging messages may be sent from the AP104to STAs106in a beacon or a TIM frame. Each bit in the bitmap may correspond to a particular STA106of a plurality of STAs106, and the value of each bit (e.g., 0 or 1) may indicate the state the corresponding STA106should be in (e.g., doze state or awake state). Accordingly, the size of the bitmap may be directly proportional to the number of STAs106in the wireless communications system100. Therefore, a large number of STAs106in the wireless communications system100may result in a large bitmap.

FIG. 3illustrates a plurality of partitioned paging messages302transmitted by the AP104to STAs106in the wireless communication system100ofFIG. 1. As shown, time increases horizontally across the page over the time axis304. As shown, the AP104is configured to transmit a plurality of paging messages302. The paging messages302may be sent in a TIM frame, a beacon, or using some other appropriate signaling. The STAs106may be configured to listen to one or more of the paging messages302. Following the one or more paging messages302, the STAs106may be configured to transmit requests to the AP104and receive a response from the AP104.

The paging process may result in a high number of STAs106receiving the one or more paging messages302. For example, a high number of STAs106in the same TIM may receive the one or more paging messages302, which may lead to one or more STAs106contending to transmit requests to the AP104on the medium after the TIM. Accordingly, collisions resulting in corrupted data received by the AP104may occur in situations in which at least two STAs106attempt to transmit requests to the AP104at or nearly at a same time.

FIG. 4illustrates a polling request mechanism400. The polling request mechanism400shown may be used by the AP104and the STAs106in the wireless communication system100ofFIG. 1. As shown, time increases horizontally across the page from slot time424to slot time440.

In general, after the transmission of a paging message, such as TIM410, a time interval is reserved for the paged STAs106. The reservation may be achieved by transmitting a message (e.g., a paging message, an additional message, etc.) to cause non-paged STAs to defer access to the medium for the duration of the reserved period. In some implementations, the deferred access can be achieved by setting a duration field value of the PPDU of a reserving frame (e.g., the paging message, the additional message, etc.), which prompts the non-paged STAs to set their network allocation vector (NAV). The PPDU of the reserving frame may carry an information element (e.g., the bitmap described above). In other implementations, the deferred access can be achieved by sending an additional frame preceding or following the paging frame, where the additional frame indicates the duration of the reserved period.

During the reserved time interval, the paged STAs106can send requests to the AP104(e.g., Power Saving polls (PS-POLL) requests412,416, and420) and receive a response from the AP104(e.g., response414,418, and422). Multiple paged STAs106can contend during the reserved time interval in accordance with various methods, as described herein. In some embodiments, STAs106that have not been paged cannot contend during the reserved time interval. Once the reserved time interval is over, STAs106can start contending to send the requests to the AP104. In an embodiment, the AP104may determine the duration of the reserved time interval. The reserved time interval should be sufficient for all the paged STAs106to send requests to the AP104and receive a response from the AP104. By way of example, and not limitation, the duration of the reserved time interval may be a function of the number of paged STAs106.

The polling request mechanism400illustrates an embodiment in which STAs402,404, and406can transmit requests, like PS-POLLs412,416, and420, to AP408in such a way so as to avoid collisions. STAs402,404, and406may be similar to STAs106as described herein. In some embodiments, the STAs402,404, and406may transmit requests to the AP408in a certain order. AP408may be similar to AP104as described herein. The paging message, such as TIM410, may implicitly or explicitly define an ordering for the STAs402,404, and406. For example if the TIM410bitmap indicates that both STA402and STA404are paged, then the TIM410bitmap also implicitly or explicitly indicates whether STA402is before or after STA404. In an example, the order could be determined by the order in which the paged STAs appear in the bitmap representation. Consider a bitmap {0, 1, 0, 0, 1, 1}, where the STA associated with the bit in position 2 is assumed to be before the STA associated with the bit in position 5. In some implementations, the compressed bitmap may be expressed as list of STA identifiers. In this case the sequence in which the STA identifiers appear in the list may determine the order. Consider the list {13, 25, 5, 22}, where the STA associated with identifier “13” is assumed to come before STA identified by “5.” In another aspect, the order may be derived from the value of the STA identifier irrespective of the message representation.

In some implementations, the position of the STA402,404, or406within the TIM410bitmap sequence may be a function of the position of the STA402,404, or406as described above. The order may further be dependent on other indications, the indications being either included in the paging message or assumed to be known at the STAs402,404, and/or406. For example, the indication may include the Timing Synchronization Function (TSF) within the paging message (e.g. TIM410). In such an implementation, the first STA may be the one whose identifier is set to “1” and has a position within the TIM410bitmap sequence which is first in the order after the position associated with the 12 least significant bits (LSBs) of the TSF. Many other functions incorporating various indications can be included to achieve a similar result as that based on the TSF. One beneficial result of including the TSF in the computation of the order is that the order may be changed at each transmission, provided that the portion of the used TSF is different at each transmission.

In some implementations, the sender of the paging message may determine the order of the paged STAs according to any criteria including the usage of the ordering information. For example the sender, AP408, may order the STAs402,404, and406based on their QoS requirements, power saving requirements, or other performance parameters. It may be desirable in some implementation for the sender of the paging message to include in the message an explicit indication of the order. This explicit indication of the order may not be based on the TIM410bitmap, but rather on other factors as described herein.

For illustrative purposes only, and not meant to be limiting,FIG. 4depicts an order of STA402, STA404, and then STA406. While STA402may be the first STA to transmit a request to the AP408, the STA402may not do so immediately after the TIM410. Each of STAs402,404, and406may be configured to use a carrier sense multiple access with collision avoidance (CSMA/CA) based medium access procedure, such as the distributed coordination function (DCF) or the enhanced distributed channel access (EDCA) as defined in the IEEE 802.11 standard. In such a medium access mechanism, a STA402,404, or406that wants to access the medium for the transmission of a frame initializes a back-off counter. The back-off counter may be initialized with a random number chosen in an appropriate interval. For example, an appropriate interval may be a value between 0 and a duration of a contention window (CW). The back-off counter may be decremented while the transmission medium (e.g. channel) is idle—in other words, no activity is detected on the transmission medium. The transmission medium may be considered to be idle if no activity is detected for a distributed inter-frame space (DIFS) or an arbitration inter-frame space (AIFS) interval. After the medium has been idle for a DIFS or AIFS interval of time, the back-off counter may be decremented by one unit per each additional consecutive idle interval of a duration equal to a slot time. When activity is detected on the medium, the back-off countdown may be frozen and restarted when the medium becomes idle again, as described herein. The STAs402,404, and406may transmit a packet on the medium when the back-off counter reaches zero or any other integer that represents a lowest value of the counter. In some implementations the DIFS interval may be defined as
DIFS=SIFS+(2*slot time)  (1)
where SIFS is a short inter-frame space. The AIFS interval may be defined as
AIFS=SIFS+(n*slot time)  (2)
where n is greater than or equal to 2.

Each of STAs402,404, and406may be configured to use a deterministic back-off value to initialize a back-off counter, where an initial value of the back-off counter may be based on the order of the paged STAs402,404, and406. For example, an initial value of the back-off counter for STA402may be 1, an initial value of the back-off counter for STA404may be 2, and an initial value of the back-off counter for STA406may be 3. In this way, an initial value of the back-off counter may be different for each STA402,404, and406so as to allow each STA402,404, and406to access the medium in different time instants.

In some implementations, the back-off counter for each STA402,404, and406may decrement the back-off value when the channel over which the STAs402,404, and406communicate with the AP408is idle for the duration of a slot time424,426,428,430,432,434,436,438, and440. As an example, a regular slot time may be a slot time defined in the IEEE 802.11 standard or a similar CSMA/CA protocol. The STAs402,404, and/or406may be configured to transmit a PS-POLL request412,416, and/or420when their respective back-off value reaches zero or any other integer that represents a lowest value of the counter.

In some implementations, the paged STAs402,404, and/or406may perform the back-off procedure by using a DIFS, an AIFS, and a slot time that are defined differently than the definitions found in the IEEE 802.11 standard. In an embodiment, slot times424,426,428,430,432,434,436,438, and440may be defined as extended slot times (hereinafter referred to as “slot times”). Extended slot times may be at least as long in duration as the time it takes for a STA402,404, or406to transmit a PS-POLL request412,416, or420and for the STA402,404, or406to receive a beginning of a response414,418, or422. For example, an extended slot time may be the sum of the time it takes for a STA402,404, or406to transmit a PS-POLL request412,416, or420, the SIFS time, and the clear channel assessment (CCA) time. In other words, the extended slot may be defined as
extended slot time=PS-POLL time+SIFS+CCA time  (3)
As an example, the extended slot time may be a multiple of a regular slot time, where the regular slot time is defined by the IEEE 802.11 standard. For example,

extended⁢⁢slot⁢⁢timeregular⁢⁢slot⁢⁢time=K(4)
where K is an integer. In an embodiment, the DIFS or AIFS interval duration used by the paged STAs402,404, and/or406may be the same or nearly the same as the duration as defined by the IEEE 802.11 standard. For example, the DIFS or AIFS interval duration used by the paged STAs402,404, and/or406may be defined as in Equations (1) and (2) above. In another embodiment, the DIFS or AIFS interval duration used by the paged STAs402,404, and/or406may be equal to zero. In this case, the back-off counter may be decremented by one unit per each consecutive idle interval of a duration equal to an extended slot time, without waiting for a DIFS or AIFS interval. In another embodiment, the DIFS or AIFS interval duration used by the paged STAs402,404, and/or406may be defined in terms of the extended slot time. For example,
AIFS=SIFS+(n*extended slot time)  (5)
DIFS=SIFS+(2*extended slot time)  (6)
In this way, the wireless communications system may be able to reduce the likelihood of collisions, even if the system contains hidden nodes. Hidden nodes are those STAs that are not within range of each other, and so are not aware of the other STAs' existence, yet are in range of the AP. While a hidden node may not sense a PS-POLL request transmitted by one STA, the hidden node will sense a response transmitted by the AP408. By ensuring that the extended slot time is at least as long in duration as described herein, even hidden nodes will not decrement their back-off values until the appropriate time, thereby increasing the likelihood of avoiding collisions.

As described herein, the extended slot time may be defined as a multiple of a regular slot time, and the DIFS or AIFS interval may be the same as is defined in the IEEE 802.11 standard. As an example, the back-off procedure used by a paged STA402,404, and/or406may be implemented by using a regular back-off procedure. A STA402,404, and/or406may set the initial value, i, of the regular back-off counter as follows:
i=K*Ni(7)
where K is as defined in Equation (4) and Nimay be a random integer between 0 and a duration of a CW or may be deterministically assigned based on the STA402,404, and/or406position in the paging messaged as described herein. After the medium has been idle for a DIFS or AIFS interval of time, the back-off counter is decremented by K units per each additional consecutive idle interval of a duration equal to an extended slot time. When activity is detected on the medium, the back-off countdown is frozen and is restarted when the medium becomes idle again, as described herein. The STA402,404, or406transmits a packet on the medium when the back-off reaches zero or any other integer that represents a lowest value of the counter.

As shown inFIG. 4, AP408may complete the transmission of TIM410just before the beginning of slot time424(e.g., an enhanced slot time as defined herein). Because the channel is idle for the duration of slot time424, the back-off counter for each of STAs402,404, and406may decrease the back-off value. For example, the back-off counter for each of STAs402,404, and406may decrement their back-off value by 1, such that the back-off value of STA402is 0, the back-off value of STA404is 1, and the back-off value of STA406is 2. Since the back-off value for STA402is 0, STA402may transmit a PS-POLL request412in the next slot time, slot time426. Since STA402transmits a PS-POLL request and the AP408transmits a response414, neither the STA404back-off counter nor the STA406back-off counter decrements the back-off value. Note further that a detection of a PS-POLL request or a detection of an AP response may be sufficient to cause the STA404back-off counter and the STA406back-off counter to maintain their respective back-off values. In this way, even if STA404and/or STA406is a hidden node, the back-off values will not be decremented.

STAs404and406maintain the back-off values during slot time428as well because both STAs detect the transmission of response414by AP408. During slot time430, the channel is once again idle. Both the STA404back-off counter and the STA406back-off counter decrement their respective back-off values, such that the back-off value for STA404is now 0 and the back-off value for STA406is now 1.

In slot time432, STA404transmits a PS-POLL request416to the AP408and the process repeats as described herein until the STA406back-off value reaches 0 and it transmits a PS-POLL request420. If a STA402,404, and/or406fails to transmit a PS-POLL412,416, and/or420during its allotted time, the subsequent STAs later in the order of STAs may continue to decrement their back-off value since the channel will instead be idle for at least a duration of the extended slot time. In this way, delay of the wireless communications system may be reduced or minimized.

In other implementations, not shown, each STA402,404, and406may be in a sleep mode for a period of time before waking. The sleep time may be determined based on a position of the STA402,404, and406in the TIM410bitmap sequence and/or an estimation of data sent by the AP408. After the STA402,404, or406has waken and the medium has been idle for a DIFS or AIFS interval of time, the back-off counter is decremented by K units per each additional consecutive idle interval of a duration equal to an extended slot time. When activity is detected on the medium, the back-off countdown is frozen and is restarted when the medium becomes idle again, as described herein. The STA402,404, or406transmits a packet on the medium when the back-off reaches zero or any other integer that represents a lowest value of the counter. In another implementation, not shown, each STA402,404, and406may start the back-off counter at a time randomly selected over a given time interval. In still another implementation, not shown, each STA402,404, and406may transmit at a time n*X where n identifies a particular STA and X is a function of the TIM410bitmap sequence.

FIG. 5Aillustrates a polling request mechanism500. The polling request mechanism500shown may be used by the AP104and the STAs106in the wireless communication system100ofFIG. 1. The polling request mechanism500is similar to the polling request mechanism400ofFIG. 4. However, in the polling request mechanism500, an overlapping basic service set (OBSS) transmission516occurs. An OBSS transmission516may occur if a STA, such as STA404, identifies with two or more basic service sets, where each basic service set include an AP and associated STAs. The OBSS transmission516may originate from an AP other than AP508.

In some implementations, if STA504receives an OBSS transmission516, the STA504back-off counter may not decrement the back-off value until the OBSS transmission516is complete. For example, as illustrated inFIG. 5, OBSS transmission516may not be complete until during slot time534such that the STA504back-off counter decrements the back-off value during slot time536, the next slot time in which the channel is idle. However, the STA506back-off counter may decrement the back-off value during slot time530because STA506does not detect any transmission on the channel. For example, STA506may determine that the channel is idle for the duration of slot time530because it is not part of the basic service set for which the OBSS transmission516was intended. This may result in a situation in which two or more STAs, like STA504and STA506, attempt to transmit a PS-POLL request519and520at or nearly at a same time and cause a collision.

FIG. 5Billustrates a polling request mechanism550. The polling request mechanism550may reduce the likelihood of a collision occurring as illustrated inFIG. 5Awith respect to the polling request mechanism500. The polling request mechanism550is similar to the polling request mechanism400ofFIG. 4and the polling request mechanism500ofFIG. 5A. However, in the polling request mechanism550, the STAs552and556do not transmit a PS-POLL request562and568at the end of extended slot time574or586. Rather, at the end of the slot times574and586, the STAs552and556start an additional short back-off procedure. The additional short back-off procedure is based on regular (non-extended) slot times such that a maximum back-off time if the medium was idle would be shorter than an extended slot time. For example, like STA504, STA554may receive an OBSS transmission566. While both STA554and STA556may have a back-off value equal to zero during extended slot time586, a collision may be avoided.

In some implementations, the additional back-off counter may be initialized with a random number or it may be based on a deterministic value, like a deterministic back-off value as described herein. Thus, the duration may be based on how the STAs552,554, and556are ordered in the TIM560bitmap sequence. As an example, the back-off procedure used by a paged STA552,554, and/or556may be implemented by using the regular back-off procedure. A STA552,554, or556may set the initial value, i, of the regular back-off counter as follows:
i=(K*Ni)+Mi(8)
where K is as defined in Equation (4), Nimay be a random integer between 0 and a duration of a CW or may be deterministically assigned based on the STA402,404, and/or406position in the paging messaged as described herein, and Mimay be a random integer between 0 and a duration of a CW′ or may be deterministically determined based on the STA402,404, and/or406position in the paging message as described herein. After the medium has been idle for a DIFS or AIFS interval of time, the back-off may be decremented by K units per each additional consecutive idle interval of a duration equal to an extended slot time. In an embodiment, if the back-off counter value is less than or equal to Mi, then the back-off counter is decremented by 1 unit per each additional consecutive idle interval of a duration equal to a regular slot time. When activity is detected on the medium, the back-off countdown is frozen and is restarted once the medium becomes idle again, as described herein. The STA402,404, or406transmits a packet on the medium when the back-off counter reaches zero or any other integer that represents a lowest value of the counter.

In some implementations, the extended slot time may be the sum of the time it takes for a STA552,554, or556to transmit a PS-POLL request562,568, or572, the short inter-frame space (SIFS) time, the clear channel assessment (CCA) time, and a maximum contention window time. In an embodiment, the maximum contention window time may be a maximum number of regular slot times that a residual back-off may have (i.e., a maximum value of Mi).

Because STA554and STA556may have different additional back-off periods (e.g. because both STAs may have different initial residual back-off values), one of STA554and STA556may transmit a PS-POLL request before the other. As shown inFIG. 5B, STA556transmits PS-POLL request568during slot time588after the additional back-off period has passed, where the additional back-off period begins at the beginning of slot time588. The additional back-off period for STA554also passes during slot time588. However, because STA554detects the PS-POLL request568transmitted by STA556, STA554waits at least an additional slot time before attempting to transmit the PS-POLL request572once again. Since the channel is busy until after slot time590, STA554transmits PS-POLL request572after slot time590and after its additional back-off period has passed.

In other implementations, collisions may still occur. In such situations, a STA may transition into a sleep mode and attempt to transmit a request to the AP during the next reserved time interval or after the current reserved time interval has expired. In this way, while a delay of the wireless communications system may be increased, energy consumption may be decreased.

FIG. 6illustrates a polling request mechanism600. The polling request mechanism600shown may be used by the AP104and the STAs106in the wireless communication system100ofFIG. 1. Unlike the polling request mechanisms400,500, and550, an extended slot time may not be defined, yet the likelihood of collisions may still be reduced.

As shown inFIG. 6, each STA602,604, and606waits at least an adaptive enhanced inter-frame space (AEIFS) before attempting to transmit a PS-POLL request612,616, or620to AP608. A calculated AEIFS may prevent each STA602,604, and606from transmitting a request until the AEIFS duration has expired. Once the AEIFS has passed, the STA602,604, and/or606may transmit the request if the channel is idle. If the channel is not idle, the STA602,604, and/or606may recalculate the AEIFS and repeat the above process. The STAs602,604, and/or606may not begin the AEIFS countdown until the channel is idle.

In some implementations, an initial duration of an AEIFS may be based on a position of the respective STA in the STA ordering. The duration of the AEIFS for a particular STA may change as other STAs transmit polling requests and/or as the AP transmits responses addressed to other STAs. For example, an initial duration of the AEIFS may be calculated by first summing a SIFS time, a maximum CW time, and a time it takes a STA602,604, or606to transmit a PS-POLL request612,616, or620to the AP608. This sum may then be multiplied by the position of the respective STA in the STA ordering as may be defined in the TIM610bitmap sequence. The product is then summed with the DIFS time to generate the initial AEIFS duration. Once a channel is idle, the STA at issue may wait for the initial AEIFS period before determining whether to transmit a request.

In some implementations, once a STA detects a PS-POLL request from another STA that comes earlier in the STA ordering than the STA at issue or detects a response addressed to another STA that comes earlier in the STA ordering than the STA at issue, the STA at issue decrements the multiplication factor so as to reduce a duration of the AEIFS. In some embodiments, the decrement of the multiplication factor may also be determined by a special indication send by the AP608to all of the STAs602,604, and606. The indication may be included in the response addressed to a STA602,604, and/or606or may be included in a dedicated frame sent for this purpose. For example, if the position of the STA at issue in the STA ordering is 3, the initial duration of the AEIFS may be based on the sum as described above multiplied by 3, and the product summed by the DIFS time. If the STA at issue detects either the PS-POLL request from a STA identified earlier in the TIM610bitmap sequence or a response address to a STA identified earlier in the TIM610bitmap sequence, then the STA at issue may decrement the 3 to a value of 2 and recalculate the AEIFS. In this way, a STA at issue may wait for the initial AEIFS period before determining whether to transmit a request. Once the initial AEIFS period has passed, if the channel is idle, then the STA at issue transmits the request. If the channel is not idle and the STA at issue detects one of the two messages as described above, then the STA at issue recalculates the AEIFS. Once the channel is again idle, the STA at issue then waits the recalculated AEIFS duration before determining whether to transmit the request and the process repeats until the STA at issue is able to transmit the request. In other embodiments, the STA may wait an additional period of time after the AEIFS duration has passed before attempting to transmit the request.

As shown inFIG. 6, after the AP608has completed transmitting the TIM610, STAs602,604, and606begin to wait for the respective calculated AEIFS duration. Because STA602is first in the order of the three STAs, its AEIFS duration may be shorter than the others. For example, the AEIFS time624for STA602may be equal to the DIFS time because a position of the STA602in the order of STAs may be represented by a 0. Likewise, the AEIFS time626for STA604may be calculated with its position in the order of STAs represented by 1. The AEIFS time628for STA606may be calculated with its position in the order of STAs represented by 2. Since STAs604and606are still waiting when AEIFS time624passes, the channel is idle and STA602may transmit PS-POLL request612after its AEIFS time624has passed. The PS-POLL request612causes the AP608to generate and transmit a response614. Because AEIFS time626and AEIFS time628passes while the response614is being transmitted, STAs604and606do not attempt to transmit a request to the AP608. If STA604or606is a hidden node, then the STA may not detect the PS-POLL request612transmitted by STA602. However, the STA will detect the response614and will thus recalculate its AEIFS duration according to the embodiments described herein. Likewise, if STA604or606is not a hidden node, then the STA may detect both the PS-POLL request612and the response614, and may adjust its AEIFS accordingly.

Once the AP608has completed its transmission of the response614, STAs604and606may begin to wait for their respective AEIFS times630and632. As described herein, once the AEIFS times630and632pass, the respective STA604and606checks the channel to determine whether a request can be transmitted. As illustrated inFIG. 6, STA604will determine that the channel is idle and transmit PS-POLL request616, which may result in a response618. The process described herein continues until STA606is able to transmit PS-POLL request620. The STAs602,604, and606may wait an additional period of time, such as a contention window time, before attempting to transmit a request (not shown).

In this way, the use of the AEIFS may allow the wireless communications system to reduce the likelihood of collisions that may occur because of hidden nodes or other errors. A time that each STA waits before attempting to transmit a request may be independent of whether or not hidden nodes exist in the system. By basing a wait time at least partly on a position of a STA in a TIM bitmap sequence, each STA may wait for a unique time period before attempting to transmit a request. The use of the AEIFS may allow the wireless communications system to achieve reductions in collisions without creating a longer slot time and without increasing power consumption by the STAs and/or AP.

FIG. 7is a flowchart of a process700for reducing collisions in the wireless communications system ofFIG. 1. At block702, the process700decrements a value of a counter if a channel of a wireless communications network is idle for at least an extended time slot. In an embodiment, a starting value of the counter is based on a position of an index corresponding to a wireless communications device in an information element, such as a TIM. At block704, the process700generates a polling request, such as a PS-POLL request. At block706, the process700transmits the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value. After block706, the process700ends.

FIG. 8is a functional block diagram of an exemplary wireless device800that may be employed within the wireless communication system100. The device800includes means802for decrementing a value of a counter if a channel of a wireless communications network is idle for at least an extended time slot. In an embodiment, means802for decrementing a value of a counter if a channel of a wireless communications network is idle for at least an extended time slot may be configured to perform one or more of the functions discussed above with respect to block702. The device800further includes means804for generating a polling request. In an embodiment, means804for generating a polling request may be configured to perform one or more of the functions discussed above with respect to block704. The device800further includes means806for transmitting the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value. In an embodiment, means806for transmitting the polling request to an access point over the wireless communications network when the value of the counter reaches a threshold value may be configured to perform one or more of the functions discussed above with respect to block706.

FIG. 9is another flowchart of a process900for reducing collisions in the wireless communications system ofFIG. 1. At block902, the process900generates a polling request, such as a PS-POLL request. At block904, the process900determines an adaptive enhanced inter-frame space (AEIFS) each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates. In an embodiment, an initial duration of the AEIFS is based on a position of the wireless communication device in an information element. At block906, the process900transmits the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open. After block906, the process900ends.

FIG. 10is a functional block diagram of an exemplary wireless device1000that may be employed within the wireless communication system100. The device1000includes means1002for generating a polling request. In an embodiment, means1002for generating a polling request may be configured to perform one or more of the functions discussed above with respect to block902. The device1000further includes means1004for determining an adaptive enhanced inter-frame space (AEIFS) each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates. In an embodiment, means1004for determining an AEIFS each time a wireless communications device detects another message transmitted on a channel of a wireless communications network in which the wireless communications device communicates may be configured to perform one or more of the functions discussed above with respect to block904. The device1000further includes means1006for transmitting the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open. In an embodiment, means1006for transmitting the polling request to an access point over the wireless communications network after a time based on a duration of the AEIFS and when the channel of the wireless communications network is open may be configured to perform one or more of the functions discussed above with respect to block1006.

As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like. Further, a “channel width” as used herein may encompass or may also be referred to as a bandwidth in certain aspects.