Certain embodiments of the invention relate to communication networks. More specifically, certain embodiments of the invention relate to a method and system for an efficient traffic indication map (TIM) element supporting multiple basic service sets (BSSes) in a wireless LAN.
IEEE 802.11 describes a communication architecture, which may enable computing devices to communicate via wireless local area networks (WLANs). One of the building blocks for the WLAN is the basic service set (BSS). A BSS may comprise a plurality of computing devices, or stations (STA), which may communicate wirelessly via one or more RF channels within a coverage area. The span of a coverage area may be determined based on the distance over which a source STA may transmit data via an RF channel, which may be received by a destination STA.
An independent BSS (IBSS) refers to a BSS, which comprises a set of STAs, which may communicate with each over within the coverage area for the BSS. In an IBSS each STA may engage in direct communication with any of the other STAs within the IBSS. An IBSS may be referred to as an ad hoc network.
An infrastructure BSS refers to a BSS, which is one of a plurality of BSSes, which are associated in a larger network referred to as an extended service set (ESS). The ESS is identified by a service set identifier (SSID). An infrastructure BSS may also be referred to as a BSS. Each of the BSSs within an ESS is identified by a BSS identifier (BSSID). Thus, STAs within a BSS generally determine their association within the BSS based on a BSSID and an SSID.
Communication between BSSs occurs via a distribution system (DS). The DS may utilize wired and/or wireless communication technologies. A BSS is able to establish communication to the DS via an access point (AP). The AP is a member of the BSS.
Each BSS comprises a plurality of STAs and an AP. The AP forms an association with each of the STAs within the BSS. The AP identifies each association by an association identifier (AID). The AP may provide communication services to STAs within a BSS based on the presence of an established association.
Within an infrastructure BSS, communication between STAs typically occurs via the AP. For example, when a STA_A within the BSS attempts to communicate with a STA_B within the BSS, the STA_A sends data to an AP_1, which subsequently sends the data to the STA_B. When the STA_A within BSS_1 attempts to communicate with a STA_X within a BSS_2, the STA_A sends data to the AP_1 within BSS_1. The AP_1 sends the data via the DS to an AP_2 within the BSS_2. The AP_2 sends the data to the STA_X within the BSS_2.
Within a BSS or IBSS, a STA may operate in two power management modes: an active mode (AM) and/or a power-save mode (PS). When the STA is operating in an AM, the STA may be fully powered (within the capabilities of the power supply, for example) and may transmit and/or receive data. When the STA is operating in PS mode, the STA may enter a doze state during which it operates at lower power consumption (when compared to AM) and capabilities for receiving data may be disabled. In an IBSS, a STA communicates its current power management mode to each of the other STAs within the IBSS. In a BSS, a STA communicates its current power management mode to the AP.
When a STA within a BSS is operating in an AM, the AP may send data to the STA. When the STA is operating in PS mode, the AP may store, or buffer, data, which is to be sent to the STA. At determined time intervals, the AP transmits beacon frames to the STAs within the BSS. STAs, which are operating in PS mode, may depart from the doze state during these time intervals to receive the beacon frames. The beacon frames may comprise a traffic indication map (TIM) information element. The TIM element comprises data, which indicates whether the AP is currently buffering data for one or more STAs within the BSS. Beacon frames may comprise a delivery TIM (DTIM) element. In the TIM element, a DTIM count enables the determination of whether the beacon frame contains a TIM or DTIM. When DTIM count equals 0, the TIM element is a DTIM element. In addition to the buffered unicast indication, a DTIM element comprises data which also allows the STAs to determine whether the AP is currently buffering data to be broadcast or multicast to a plurality of STAs within the BSS. The TIM (DTIM) element comprises a plurality of indicators, which are located based on an AID. For example, a STA may determine whether the AP is currently buffering unicast data by indexing the TIM or DTIM data based on the AID assigned to the STA for its association with the AP. Additionally, a STA may determine whether the AP is currently buffering broadcast and multicast data by indexing the DTIM data based on the AID designated for the buffered broadcast and multicast traffic indication for the BSS.
A single AP may be able to support multiple BSSes. The AP may share the entire AID space for all associated STAs. A subset of the AIDs may not be allocated to any individual STA. Instead, each of these AIDs may be used as the index value of the bitmap in a DTIM element to indicate the presence of buffered broadcast and multicast frames destined to the corresponding BSS among a plurality of BSSes. The number of these AIDs used for buffered broadcast and multicast frames indication may be determined by the total number of multiple BSSes supported by the AP. The AP may transmit a single beacon including a TIM or a DTIM element to multiple BSSes. The TIM or DTIM element may indicate the presence of unicast frames buffered for the STAs associated with the AP. The DTIM element may also indicate the presence of broadcast/multicast frames buffered for the BSSes supported by the AP.
When a STA determines that broadcast and multicast data is being buffered at the AP, the STA may leave the doze state to receive the buffered data. When a STA determines that unicast data is buffered at the AP, the STA may enter AM or poll the AP to receive the buffered data.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
A method and system for an efficient traffic indication map (TIM) element supporting multiple basic service sets (BSSes) in a wireless LAN, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
Certain embodiments of the invention may be found in a method and system for an efficient traffic indication map (TIM) information element supporting multiple basic service sets (BSSes) in a wireless LAN. Various embodiments of the invention comprise a method and system for coding of a partial virtual bitmap (PVB) field within the TIM information element in a transmitted beacon frame that may reduce the quantity of data (as measured in binary bits, for example) contained within the TIM information element. Various embodiments of the invention may enable a single coded TIM information element to provide traffic indication data for a plurality of basic service sets (BSSes). In this aspect of the invention, a single access point (AP) may use a single association identifier (AID) space for STAs associate with any of the supported BSSes. This capability may enable the single AP to communicate traffic information data via the TIM element.
The ESS 102 may be identified by an SSID=SSID0, for example. The BSS_1112 may be identified by a BSSID=BSSID1, for example. The BSS_2114 may be identified by a BSSID=BSSID2, for example. The association between the STA_A 124 and the AP_1122 may be identified by an AID=1, for example. The association between the STA_B 126 and the AP_1122 may be identified by an AID=2, for example. The association between the STA_X 134 and the AP_2132 may be identified by an AID=1, for example. The association between the STA_Y 136 and the AP_2132 may be identified by an AID=2, for example.
The DS 104 may provide an infrastructure, which may be utilized to enable any of the STAs within the BSS_1112 to communicate with any of the STAs within BSS_2114, or vice versa. The DS 104 may utilize wireless communication (for example, via one or more RF channels), wired communication (for example, via copper or optical fiber cabling) or a combination thereof.
Within BSS_1112, the AP_1122 may communicate with STA_A 124 via one or more RF channels 144. The AP_1122 may communicate with STA_B 126 via one or more RF channels 146. The STA_A 124 may communicate with STA_B 126 by sending a frame to the AP_1122. Upon receipt of the frame, the AP_1122 may determine that the destination for the frame is STA_B 126. The AP_1122 may then send the frame to the STA_B 126. Within BSS_2114, the AP_2132 may communicate with STA_X 134 via one or more RF channels 154. The AP_2132 may communicate with STA_Y 136 via one or more RF channels 156. STA_X 134 and STA_Y 136 may communicate in a manner, which is substantially similar to that described for STA_A 124 and STA_B 126.
Once the AP_1122 has established associations between STA_A 124 and STA_B 126, AP_1122 may communicate reachability information to the AP_2132 via the DS 104. The reachability information may enable the AP_2132 to determine a route by which frames may be delivered to the STA_A 124 and/or STA_B 126. For example, if the STA_X 134 sends a frame to the AP_2132 for which the destination address identifies STA_A 124, the AP_2132 may send the frame to the AP_1122 via the DS 104. The interface 164 over which the AP_2132 sends the frame to the DS 104 may utilize a wired interface (such as copper or optical fiber cabling) and/or wireless interface (such as one or more RF channels). Similarly, the interface 162 over which the AP_1122 receives the frame from the DS 104 may utilize a wired interface and/or wireless interface.
AP_1122 has the knowledge of the power management mode of STA_A 124 and STA_B 126. When the AP_1122 receives the frame and determines that the destination for the frame is STA_A 124, if the AP_1122 identifies that the STA_A 124 is in an active mode, the AP_1122 may send the frame to the STA_A 124 via one or more RF channels 144. If the AP_1122 identifies that the STA_A 124 is in a power-save (PS) mode, the AP_1122 may store the frame as a buffered frame, EFbuf(1). The AP_1122 may utilize the AID value AID=1 associated with the STA_A 124 as an index for the buffered frame, EFbuf(1).
At various times, the AP_1122 may attempt to transmit data to a plurality of STAs. For example, the AP_1122 may transmit a frame to the STA_A 124 and STA_B 126 within the BSS_1112 via a multicast or broadcast. When the AP_1122 identifies that the STA_A 124 and STA_B 126 are both in the active mode, the AP_1122 may multicast or broadcast the frame to STA_A 124 and STA_B 126 via one or more broadcast RF channels. When the AP_1122 identifies that any one of the STAs, for example STA_A 124, is in a PS mode, the AP_1122 may store the broadcast frame as a buffered frame, EFbuf(0). The AP_1122 may utilize the AID value AID=0 to indicate that the buffered frame EFbuf(0) is to be broadcast to each of the STAs, for example STA_A 124 and STA_B 126, within the BSS_1112.
At determined time intervals, the AP_1122 may broadcast beacon frames to the STA_A 124 and STA_B 126. When the STA_A 124 is in PS mode, the STA_A 124 may leave the doze state to enable reception of the transmitted beacon frames. The beacon frames may comprise a TIM information element, which may comprise an indication that the AP_1122 is currently buffering data for delivery to the STA_A 124. The indication may be contained within a PVB field within the TIM element. The indication may be located within the PVB field based on the AID=1 association between the AP_1122 and the STA_A 124.
Upon reception of the beacon frame, the STA_A 124 may inspect the PVB field within the TIM field and determine that the AP_1122 is currently storing data for delivery to the STA_A 124. In response, the STA_A 124 may communicate a message to the AP_1122 to request that the AP_1122 deliver the buffered data to the STA_A 124. Upon receipt of the request from the STA_A 124, the AP_1122 may send the buffered frame EFbuf(1) to the STA_A 124.
When the AP_1122 has stored multicast or broadcast frames, the beacon frames may comprise a delivery TIM (DTIM) information element. The presence of the DTIM information element may be determined based on a value of the DTIM count within the TIM information element. In addition to the indication of buffered unicast frames, the DTIM information element may comprise an indication that the AP_1122 may currently be buffering data for multicast or broadcast within the BSS_1112. The indication of whether the AP_1122 may currently be buffering one or more frames for multicast or broadcast may be contained within the PVB field. The indication may be located within the DTIM element based on the association identifier value AID=0.
Communications between the AP_2132 and the STA_X 134 and STA_Y 136 within BSS_2114 may be substantially similar to those described within BSS_1112. In this aspect, the AP_2132 may send beacon frames to the STA_X 134 and STA_Y 136. The TIM information element within the beacon frames may be generated based on the associations between the AP_2132 and STA_X 134 and the AP_2132 and STA_Y 136. Thus, the TIM information element sent within beacon frames transmitted by AP_1122 may refer to STAs, STA_A 124 and STA_B 126, for which SSID=SSID0 and BSSID=BSSID1, while the TIM information element sent within beacon frames transmitted by AP_2132 may refer to STAs, STA_X 134 and STA_Y 136, for which SSID=SSID0 and BSSID=BSSID2, for example.
Among WLAN systems, ESSes, BSSes and/or IBSSes may be physically collocated or partially overlapping. An AP or STA may be a member in one or more ESSs, BSSs and/or IBSSs. Each membership may be uniquely identified based on an SSID, BSSID and/or AID, for example. As shown in
Once the AP 222 has established associations between STA_A 224 and STA_B 226, STA_X 234 and STA_Y 236 the AP 222 may enable communication between STA_A 224 and/or STA_B 226 within BSS_1212 and STA_X 234 and/or STA_Y 236 within BSS_2214. In addition, if BSS_1212 and BSS_2214 belong to the same ESS, the AP may enable communications between STAs in these two BSSes. For example, if the STA_X 234 sends a frame to the AP 222 for which the destination address identifies STA_A 224, the AP 222 may send the frame to STA_A 224. As described in
Various embodiments of the invention may comprise a method and system by which the AP 222 may communicate that there are stored frames for delivery to one or more of a plurality of BSSes. In the beacon frame transmitted at the determined time intervals, the AP may include a TIM (DTIM) element that contains buffered frame indications for STAs associated with different BSSes. When the DTIM count is not equal to 0, the beacon frames comprise a TIM element, which may be used by the AP to indicate the presence of buffered unicast frames to stations associated with different BSSes. When the DTIM count is equal to 0, the beacon frames comprise a DTIM element, which may be used by the AP to indicate the presence of buffered broadcast and multicast frames in addition to indicating the presence of buffered unicast frames.
In this aspect of the invention, the AP 222 may broadcast beacon frames to STAs within the BSS_1212 and to STAs within the BSS_2214. When the beacon frames contain a TIM information element, a STA may inspect the indication contained within the TIM information element to determine whether the AP 222 is currently storing one or more unicast frames destined for the STA based on the value of a bit in the bitmap whose index corresponds to the STA's AID. When the beacon frames contain a DTIM information element, STAs within each BSS may inspect the indications contained within the DTIM information element to determine whether the AP 222 is currently storing frames for multicast or broadcast to the BSS based on the value of a bit in the bitmap whose index is associated with the BSS. A STA may also inspect the indications contained within the DTIM information element to determine whether the AP 222 is currently storing unicast frame destined for the STA based on the value of the bit in the bitmap whose bit index corresponds to the STA's AID.
The frame control field 304 may comprise information that identifies the frame as being a beacon frame. The duration field 306 may comprise a value, which is computed based on the data rate at which the beacon frame 302 is transmitted. The destination address field 308 may identify one or more STAs, which are intended to receive the beacon frame 302. The source address field 310 may identify the AP, which transmitted the beacon frame 302. The BSSID field 312 may contain the BSSID value of one BSS among a plurality of BSSes to which the beacon frame is being directed. The sequence control field 314 may be utilized to indicate whether the frame 302 is a segment within a larger beacon frame. The beacon frame body 316 may comprise information that is specific to a beacon frame. In various embodiments of the invention, the beacon frame body 316 comprises a TIM information element, which in turn comprises a partial virtual bitmap (PVB). The FCS field 318 may be utilized to detect and/or correct bit errors in a beacon frame 302 received at a STA.
In operation, in various embodiments of the invention, the BSSID field 312 may be utilized when the beacon frame 302 comprises a TIM information element, which indicates that the AP is currently buffering frames for delivery to a specific STA. In various embodiments of the invention, the BSSID field 312 may not be utilized to determine for which BSSes, among a plurality of BSSs, the AP is currently storing multicast or broadcast frames.
The timestamp field 324 may indicate a time instant at which the beacon frame was transmitted. The timestamp value inserted into the timestamp field 324 may be determined based on a timing source utilized by the AP, which is transmitting the beacon frame. The beacon interval field 326 may indicate the amount of time that may transpire between beacon frame transmissions. The capability information field 328 may be used to communicate capabilities available at the AP, which is transmitting the beacon frame. The SSID field 330 may contain the SSID value that identifies the corresponding ESS to which one BSS, among a plurality of BSSes to which the beacon frame is being directed, belongs. The supported rates field 332 may indicate data rates that may be supported by the AP, which is transmitting the beacon frame. The FH parameter set field 334 may comprise information, which enables STAs receiving the beacon frame to utilize frequency hopping when communicating with the AP that is transmitting the beacon frame. The DH parameter set field 338 may comprise information, which enables RF channel assignment to STAs when communicating with the AP. The CF parameter set field 340 may comprise information, which enables the AP that is transmitting the beacon frame to perform contention free polling of STAs, which are associated with the AP. The IBSS parameter set 340 may comprise information, which may be utilized by a STA within an IBSS. The TIM information element 342 comprises information, which may enable an AP to indicate to STAs that data is buffered at the AP for delivery to one or more STAs.
Various embodiments of the invention may comprise a method for encoding the PVB field 364 to indicate the presence of buffered frames pending transmission to one or more BSSes. Another aspect of the invention may comprise setting the bitmap offset value 376 within the bitmap control field 362, which enables coding of the PVB field utilizing fewer bits than in various conventional methods. The bitmap offset value 376 may also enable decoding of the PVB by a STA. This may enable a reduction in the length of the TIM IE 352, which may enable a reduction in the length of the beacon frame body 322, which in turn may enable a reduction in the length of the beacon frame 302. This may result in reduced power consumption at WLAN STAs, such as STA_A. In addition, various embodiments of the invention may enable a reduction in transmission time for transmitting the beacon frames 302. This may in turn allow a greater allocation of time available via the wireless communication medium for transmission of user data traffic. This in turn may increase data throughput performance among STAs in a WLAN.
In an exemplary embodiment of the invention, the indicators for buffered broadcast and multicast frames 404 enable the AP 222 to indicate for which BSSes, among a plurality of BSSes, the AP 222 may currently be buffering broadcast and multicast frames pending transmission. The broadcast and multicast traffic indicators field 404 may comprise a plurality of the first m contiguous bits, wherein the value m is determined based on the number of BSSes, which are supported by the AP 222. In this aspect of the invention, one bit among the m-bit broadcast/multicast traffic indicator field 404 may be used to indicate whether the AP 222 has buffered broadcast and multicast frames destined to a specific BSS. The value of m may be communicated by the AP 222 to STAs via an information element included in beacon frames, and/or probe response frames and/or other management frames. Alternatively, the value of m may be inferred by the STAs. In this aspect of the invention, the AP may generate and communicate to STAs an index value assigned to the corresponding BSS.
In an exemplary embodiment of the invention, the indicators for buffered unicast frames 406 enable the AP 222 to indicate for which STAs, among a plurality of STAs, the AP 222 is currently buffering frames pending transmission. The STAs may be identified based on the AID assigned to the STA. In various embodiments of the invention, the traffic indication virtual bitmap 402 may comprise nVB bits, and the indicators field 406 may comprise (nVB−m) bits. In an exemplary aspect of the invention, one bit may be allocated among the (nVB−m)-bit field 406 to identify each STA. A bit which may be assigned to a specific STA may be indexed within the (nVB−m) bits based on the AID assigned to the STA.
In an exemplary embodiment of the invention in which the AP 222 is currently buffering multicast or broadcast frames pending transmission to a plurality of BSSes, may currently be buffering unicast frames pending transmission to a plurality of STAs, a PVB 432 may be generated based on the traffic indication virtual bitmap 402, wherein the PVB 432 comprises fewer than nVB bits. A value N0, may be determined such that N0×8≧m (where the first bit in the bitmap 402 is located at bit position 0). Based on the value N0, a segment_1422 may be generated, which comprises the range of bit positions from 0 to N0×8−1 in the bitmap 402. Subsequently, a value N1>N0 may be determined such that each of the bits across the range of bit positions, from N0×8 to N1×8−1 in the bitmap 402, is equal to 0, wherein at least one bit in the (N1+1)th or the (N1+2)th octet in the bitmap 402 has a value equal to 1. If such a value N1>N0 does not exist, N1 may be chosen to be equal to N0. Next, a value N2>N1 may be determined, which is the smallest integer value for which the values for each of the bits across the range of bit positions, from N2×8 to nVB−1 in the bitmap 402, is equal to 0. Such a value N2 does not exist when not all the bits in the last octet of the traffic indication virtual bitmap are equal to 1, subsequently, N2 may be chosen to be equal to NvB/8. Based on the values N1 and N2, a segment_2424 may be generated, which comprises the range of bit positions from N1×8 to (N2×8−1) in the bitmap 402.
In a preferred embodiment of the invention, the selection of N0 may minimize the length of segment_1, the selection of N1 may maximize the length of the separation between segment_1 and segment_2, and the selection of N2 may minimize the length of segment_2. The selection of N0, N1 and N2 may minimize the length of the PVB 364.
In an exemplary embodiment of the invention, the length of the separation between segment_1 and segment_2 may be an even number of octets.
In an exemplary embodiment of the invention, a value N0 may be determined such that N0 is the smallest positive integer such that N0×8−m≦8 (where the first bit in the bitmap 402 is located at bit position 0). If N0 is an odd number, then N1 is the largest odd number such that each of the bits N0×8 to (N1×8−1) is equal to zero. When N0 is an even number, then N1 is the largest even number such that each of the bits N0×8 to (N1×8−1) is equal to zero. If such a value N1>N0 does not exist, N1 may be chosen to be equal to N0.
In an alternative exemplary embodiment of the invention, a value N0 and a value N1 may be determined, using one of the following exemplary options, such that each of the bits across the range of bit positions, from m to N0×8−1 in the bitmap 402, is equal to 0 (where the first bit in the bitmap 402 is located at bit position 0). In various embodiments of the invention, exemplary methods used to determine the values of N0 and N1, N0≧1 and the resulting value (N1−N0) may be either a positive even number or zero.
In one exemplary option, first select N0 where N0 may be the smallest positive integer number such that each of the bits m to (N0×8−1) is equal to zero. Subsequently, a value N1 may be selected. If N0 is an odd number, then N1 is the largest odd number such that each of the bits m to (N1×8−1) is equal to zero. When N0 is an even number, for example, then N1 is the largest even number such that each of the bits m to (N1×8−1) is equal to zero.
In another exemplary option, first select N1 where N1 may be the largest integer number such that each of the bits m to (N1×8−1) is equal to zero. Subsequently, a value N0 may be selected. When N1 is an odd number, for example, then N0 is the smallest positive odd number such that each of the bits m to (N0×8−1) is equal to zero. When N1 is an even number, then N0 is the smallest positive even number such that each of the bits m to (N0×8−1) is equal to zero.
In another exemplary option, first a value N1 may be selected where N1 is the largest even number such that each of the bits m to (N1×8−1) is equal to zero. Subsequently, a value N0 may be selected where N0 is the smallest positive even number such that each of the bits m to (N0×8−1) is equal to zero.
In another exemplary option, first a value N1 may be selected where N1 is the largest odd number such that each of the bits m to (N1×8−1) is equal to zero. Subsequently, a value N0 may be selected where N0 is the smallest positive odd number such that each of the bits m to (N0×8−1) is equal to zero.
In another exemplary option, first a value N0 may be selected where N0 may be the smallest positive even number such that each of the bits m to (N0×8−1) is equal to zero. Subsequently, a value N1 may be selected where N1 is the largest even number such that each of the bits m to (N1×8−1) is equal to zero.
In another exemplary option, first a value N0 may be selected where N0 is the smallest positive odd number such that each of the bits m to (N0×8−1) is equal to zero. Subsequently, a value N1 may be selected where N1 is the largest odd number such that each of the bits m to (N1×8−1) is equal to zero.
In an exemplary embodiment of the invention, based on the value N0, a segment_1422 may be generated, which comprises the range of bit positions from 0 to N0×8−1 in the bitmap 402.
Next, a value N2>N1 may be determined, which is the smallest integer value for which the values for each of the bits across the range of bit positions, from N2×8 to nVB−1 in the bitmap 402, is equal to 0. Such a value N2 does not exist when not all the bits in the last octet of the traffic virtual indication bitmap are equal to 0, subsequently, N2 may be chosen to be equal to NvB/8. Based on the values N1 and N2, a segment_2424 may be generated, which comprises the range of bit positions from N1×8 to (N2×8−1) in the bitmap 402.
A PVB 432 may be generated by combining segment_1422 and segment_2424. The length of the PVB 432 may be computed (in octet units) as shown in the following equation:
Length=N0+(N2−N1) [1]
An offset value, which represents the number of bit positions between the segment_1422 and the segment_2424 in the bitmap 402, may be computed as shown in the following equation:
Offset=N1−N0 [2]
In various embodiments of the invention, a TIM IE 352 may be generated wherein the PVB 364 may comprise the PVB 432, and the bitmap offset 376 within the bitmap control field 362 may comprise a value based on the offset computed in equation [2]. For example, in an exemplary embodiment of the invention the bitmap offset value, BitmapOffset, may be determined as shown in the following equation:
The AP 222 may or may not communicate the value of N0 to the STAs. The communication of the value N0 may be achieved via an information element included in beacon frames, and/or probe response frames and/or other management frames. If the value of N0 is not communicated by the AP 222, the STAs may infer the value N0 from the value m.
In various embodiments of the invention, if the DTIM count is equal to 0, based on the interpretation of the received PVB 432, the STA may determine whether the AP 222 may currently be buffering multicast and/or broadcast frames pending delivery to the BSS to which the STA is a member. In this aspect of the invention, the AP may generate, and communicate to STAs, an index value assigned to the corresponding BSS. The STA may utilize this index to identify a bit among the first m bits in the PVB 432. Based on the value of the identified bit, the STA may determine whether the AP 222 may currently be buffering multicast and/or broadcast frames.
In various embodiments of the invention, regardless of the value of the DTIM count, a STA receiving a beacon frame, which comprises the PVB 432, may also determine whether it has buffered unicast frames at the AP 222 based on the value N0, the bitmap offset value 376, and the PVB 432. The STA may determine the value of N1 as follows:
N
1=2×BitmapOffset+N0 [4]
Subsequently, the STA may determine the value of N2 as follows:
where nPVB indicates the number of bits in the PVB 432.
Given the values of N0, N1 and N2, the STA may use its AID value to determine whether there are unicast frames being buffered at the AP 222 pending transmission.
In an exemplary embodiment of the invention, a value N0 may be determined such that N0 is the smallest positive integer such that (N0×8−m)≦8 (where the first bit in the bitmap 502 is located at bit position 0). Based on the value N0, a segment 522 may be generated, which comprises the range of bit positions from 0 to N0×8−1 in the bitmap 502.
Since the values of the remaining bits in the bitmap 502 are equal to 0, the PVB 532 may be generated based on the segment 522. The length of the PVB 532 may be computed (in octet units) as shown in the following equation:
Length=N0 [6]
Since the PVB 532 comprises a single contiguous set of bits from the bitmap 502, the bitmap offset value 376 may be equal to 0.
In various embodiments of the invention, a TIM IE 352 may be generated wherein the PVB 364 may comprise the PVB 532, and the bitmap offset 376 within the bitmap control field 362 may comprise a value equal to 0.
In various embodiments of the invention, the AP may or may not communicate the value N0 to the STAs. The communication of the value N0 may be achieved via an information element included in beacon frames, and/or probe response frames and/or other management frames. If the value of N0 is not communicated by the AP 222, the STAs may infer the value N0 from the value m.
In various embodiments of the invention, if the DTIM count is equal to 0, based on the interpretation of the received PVB 532, the STA may determine whether the AP 222 may currently be buffering multicast and/or broadcast frames pending delivery to the BSS to which the STA is a member. In this aspect of the invention, the AP may generate, and communicate to each STA, an index value assigned to the BSS to which the receiving STA is a member. The STA may utilize this index to identify a bit among the first m bits in the PVB 532. Based on the value of the identified bit, the STA may determine whether the AP 222 may currently be buffering multicast and/or broadcast frames.
In various embodiments of the invention, a STA that receives a beacon frame, which comprises the PVB 522, may utilize the values N0, N1 and N2 and the AID value assigned to the STA to determine, regardless of the value of the DTIM count, whether there are unicast frames being buffered at the AP 222 pending transmission. The values of N1 and N2 may be determined using equations [4] and [5], respectively.
In an exemplary embodiment of the invention, a PVB 622 may be generated based on the bitmap 602. The PVB 622 wherein the length of the PVB 622 is one octet. The value of each of the bits in the PVB 622 may be equal to 0. A bitmap offset value 376 may be computed to be equal to 0.
In an exemplary embodiment of the invention, in which the AP 222 has no buffered frames, a TIM IE 352 may be generated wherein the PVB 364 comprises the PVB 622. The bitmap offset within the bitmap control field 362 may comprise a value equal to 0.
In various embodiments of the invention, a STA receiving a beacon frame, which comprises the PVB 622, may determine that there is no buffered frames at the AP 222.
Prior to generating a TIM IE, in step 704, the AP 222 may determine whether there are any buffered unicast frames. When it is determined in step 704 that there are no buffered unicast frames, in step 706, the AP 222 may determine whether there are any buffered broadcast or multicast frames. When it is determined in step 706 that there are no buffered broadcast or multicast frames, in step 708, the AP 222 may generate a PVB 622 of a single octet for which the value for each of the bits is equal to 0. The Bitmap Offset 376 may be set to 0. The PVB 622 may indicate that there are no buffered frames in the AP 222.
When it is determined in step 706 that there are buffered broadcast or multicast frames, in step 710, the AP 222 may determine N0 to be the smallest positive integer value such that (N0×8−m)≦8 (where the first bit in the traffic indication virtual bitmap is located at bit position 0). In step 712, the AP may generate a PVB containing bits across the range of bit positions, from 0 to N0×8−1 in the in the traffic indication virtual bitmap. The length of the PVB may be equal to N0 octets, and a computed Bitmap Offset 376 may be equal to 0 octets.
When it is determined in step 704 that there are buffered unicast frames, in step 714, the AP 222 may determine the value N0 and N1 using a number of exemplary methods such as the aforementioned methods, for example (where the first bit in the traffic indication virtual bitmap is located at bit position 0). The resulting value (N1−N0) may be either an even number or zero. When some selection methods for N0 are used, each of the bits across the range of bit positions, from m to N0×8−1 in the traffic indication virtual bitmap, may not be equal to 0. Alternatively, if some other selection methods for N0 are used, all the bits across the range of bit positions, from m to N0×8−1 in the traffic indication virtual bitmap, may be equal to 0. Independent of the selection method for N0, When N1>N0, each of the bits across the range of bit positions, from N0×8 to N1×8−1 in the traffic indication virtual bitmap, may be equal to 0, wherein at least one bit in the (N1+1)th or the (N1+2)th octet in the traffic indication virtual bitmap has a value equal to 1. When N1=N0, the bitmap offset 376 is equal to 0. In step 716, the AP 222 may determine a value N2>N1 for which the values for each of the bits across the range of bit positions, from N2×8 to nVB−1 in the traffic indication virtual bitmap, is equal to 0. When such a value N2 does not exist (that is, when not all the bits in the last octet of the traffic indication virtual bitmap are equal to 0), N2 may be chosen to be equal to NVB/8. In step 718, the AP 222 may generate a PVB containing bits from bit positions 0 to N0×8−1 and bit positions N1×8 to N2×8−1 in the traffic indication virtual bitmap. The length of the PVB may be as computed in equation [1] and the Bitmap Offset 376 may be as computed in equation [3]. Optionally, in step 720, the AP 222 may communicate the value of N0 to STAs.
In various embodiments of the invention, step 808, step 810, step 812, step 814, step 816, step 818 and step 820 may be performed after step 802. Furthermore, in various embodiments of the invention, step 804 and 806 may be performed after step 820.
Aspects of a system for an efficient traffic indication map (TIM) element supporting multiple basic service sets (BSSes) in a wireless LAN may include an access point (AP) 222 the enables generation of a traffic indication virtual bitmap 402 based on the presence of stored data pending transmission to one or more WLAN stations (STAs) via a wireless communication medium. The AP 222 may generate a partial virtual bitmap (PVB) 432 based on the generated traffic indication virtual bitmap 402. The partial virtual bitmap (PVB) 432 may comprise a first segment 422 and a second segment 424, wherein each segment may be derived from the generated traffic indication virtual bitmap 402.
The first segment 422 may comprise a plurality of bits, which indicate the presence of stored frames for multicast and/or broadcast transmission to all the BSSes supported by the AP 222 and stored frames for unicast transmission to the associated STAs whose AIDs range from m to N0×8−1. The second segment 424 may comprise a plurality of bits, which indicate the presence of stored frames for unicast transmission to the associated STAs whose AIDs range from N1×8 to (N2×8−1). The multicast and/or broadcast transmission may enable the stored frames to be communicated to a plurality of STAs via the wireless communication medium. The unicast transmission may enable the stored frames to be communicated to a specific STA 224 via the wireless communication medium.
The AP 222 may determine the number of bits used to indicate the presence of stored data for multicast and/or broadcast transmission in the generated traffic indication virtual bitmap 402. The AP may determine a first index value, m, which is used to index the last bit position, m, in the generated traffic indication bitmap 402. The value m may be equal to the total number of bits used in the traffic indication virtual bitmap 402 to indicate presence of stored data for multicast and/or broadcast transmission for multiple BSSes supported by the AP 222. The AP 222 may determine a second index value, N0×8>m, which indexes a second bit position within the generated traffic indication virtual bitmap 402. The second index value, N0×8−1, may be less than 8 but greater than the value of the first index value, m. The first segment 422 may be generated based on the value N0×8.
The AP 222 may generate a third index value, N1×8>N0×8, which indexes a third bit position within the generated traffic indication bitmap 402. The bit value for each of the bits in the range of bit positions from bit position N0×8 to N1×8−1 may be equal to 0. The bit value of at least one bit, which is less than 8 or 16 bit positions subsequent to the third bit position, N1×8, may be equal to 1.
The AP 222 may generate a fourth index value, N2×8>N1×8, which indexes a fourth position within the generated traffic indication virtual bitmap 402. The bit value of at least one bit, which is not more than 8 bit positions previous to the fourth bit position, N2×8, may be equal to 1. The bit value of each bit, in the range of bit positions including and subsequent to the fourth bit position N2×8, may be equal to 0. The second segment 424 may be generated based on the third index value, N1×8, and the fourth index value N2×8.
The AP may communicate the value of m to STAs via an information element included in beacon frames, and/or probe response frames and/or other management frames.
The AP may or may not communicate the value of N0 to STAs via an information element included in beacon frames, and/or probe response frames and/or other management frames. In various embodiments of the invention, the bits used to indicate the presence of buffered broadcast and multicast frames may not reside in the first m bit positions of the traffic indication virtual bitmap. Instead, the bits used to indicate the presence of buffered broadcast and multicast frames may be interspersed throughout the traffic indication virtual bitmap. The value m may not be used in the construction and the interpretation of the PVB. However, the value of N0 may be communicated by the AP to the STAs and the values of N0, N1 and N2 may be used in the same fashion.
Another embodiment of the invention may provide a machine-readable storage, having stored thereon, a computer program having at least one code section executable by a machine, thereby causing the machine to perform the steps as described herein for an efficient traffic indication map (TIM) element supporting multiple basic service sets (BSSes) in a wireless LAN.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.
This application makes reference to, claims priority to, and claims the benefit of U.S. Provisional Application Ser. No. 60/949,422, filed on Jul. 12, 2007, which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60949422 | Jul 2007 | US |