The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The present invention describes a system and a method for optimized wireless client communication. In the exemplary embodiment, the system includes multiple access points (“APs”) which are configured to utilize one basic service set identifier (“BSSid”) simulating a single AP. Thus, a mobile unit (“MU”) may travel about the WLAN and maintain a seamless wireless connection to a wireless network without suffering a delay associated with roaming. Although the exemplary embodiments of the present invention are described with reference to an IEEE 802.11 wireless network, those of skill in the art will understand that the present invention may be implemented in other types of network protocols and architectures.
Each of the APs 10-40 has a corresponding coverage area which defines a range over which the AP may transmit and receive radio frequency (“RF”) signals. A mobile unit (“MU”) 50 located within a particular coverage area may communicate with a corresponding AP. The MU 50 may be one of a laser-/imager-based scanner, an RFID reader, a mobile phone, a PDA, a tablet computer, a network interface card, a laptop, a digital camera and a portable media player. The MU 50 may be located in the coverage area of the AP 30 and communicate therewith. The APs 10-40 may either be single channel APs (e.g., 2.4 GHz or 5.1 GHz) or multiple channel APs (e.g., 2.4 GHz and 5.1 GHz). Multiple channel APs may potentially support a first channel of single BSS operation, according to the present invention, concurrently with a second channel of single BSS operation or conventional AP operation.
In a conventional 802.11 network, each AP has a unique BSSid. Thus, if a packet is addressed to and received by an AP (e.g., AP 30), the AP 30 will accept the packet and transmit an acknowledgment to the source device (e.g., the MU 50). If the packet is not addressed to BSSid for the AP 30, it is ignored. According to the present invention, every AP (e.g., APs 10-40) or selected ones of the APs 10-40 have the same BSSid. Thus, the MU 50 assumes it is only communicating with a single AP. The system 1 may handle a plurality of MUs at any time, wherein each MU addresses packets to the same BSSid.
In the exemplary embodiment, the NMA 60 monitors operation and performance parameters of the APs and the MUs. The NMA 60 supplies each AP with a list of MUs with which it should communicate. For example, due to a predetermined set of parameters (e.g., RSSI, TDOA, location load, communication type, etc.), the NMA 60 may include the MU 50 on the list supplied to the AP 30. Thus, for each packet received by the AP 30, a source address is compared against the list. If the source address is contained in the list, the AP 30 acknowledges the packet; otherwise the packet may be ignored. The NMA 60 analyzes the set of parameters to update the list for each AP, e.g., moving the address for MU 50 to another AP.
In addition, the APs 10-40 may be synchronized so that they each transmit beacons at substantially the same time. In the exemplary embodiment, one AP is selected by the NMA 60 to serve as a timing master AP. The timing master AP is preferably an AP in a geographically central location relative to the other APs. The timing master AP may set the timing for its beacon, and the remaining APs set their local timing synchronization function (“TSF”) timers to the beacon transmitted by the timing master AP. If any APs cannot hear the beacon transmitted by the timing master AP, a first set of the remaining APs (e.g., “Primary APs”) may also be configured to transmit beacons to the other remaining APs (e.g., “Secondary APs”). The Primary APs synchronize their local TSFs to the beacon from the timing master AP. The Secondary APs may suspend transmissions to avoid interfering with the beacon transmission by the timing master AP and the Primary APs.
In the exemplary system, other tasks commonly performed in conventional IEEE 802.11 protocols may be altered. For example, in conventional wireless networks, all APs periodically transmit beacons, thereby informing MUs of their presence. However, in the single BSS system, simultaneous transmissions from the APs may collide and consume too much bandwidth. These problems may be overcome by classification of the APs 10-40 into Primary APs and Secondary APs, as described above. To prevent collisions and reduce bandwidth consumption, the Primary APs may transmit their beacons at a predetermined offset from one another so as to allow a distributed coordination function (“DCF”) to occur and minimize collisions. The offset is preferably small enough to avoid disrupting normal network operation, but large enough to avoid collisions. The offsets may be fixed by the NMA 60, or they may be randomly determined by the Primary APs on a per packet basis. A TSF value in each beacon frame may be adjusted to reflect the offset.
The MU 50 initiates communication with the network 65 by transmitting an association request to an AP whose beacon it has heard. The AP 30 forwards the association request to the NMA 60, which will either grant or deny it. If more than one AP receives and forwards the association request, the NMA 60 selects the AP which will grant the association request. If the NMA 60 grants the association request, the MU 50 is authenticated and begins communication on the network 65. Thus, the NMA 60 may control communications between the MU 50 and the APs 10-40.
In a conventional IEEE 802.11 wireless network, the MU 50 must reassociate and reauthenticate each time it attempts to communicate with a new AP (e.g., when the MU 50 migrates into a different coverage area, determines that the new AP is better suited to handle the MU 50, etc.). Repetition of the association and authentication procedures delays access to the network 65 for the MU 50.
According to the present invention, the MU 50 may communicate with each AP 10-40 without having to re-execute the association/authentication process. After the MU 50 initially associates/authenticates with an AP, the NMA 60 may transfer responsibility for the MU 50 to/from each AP.
In step 210, the MU 50 transmits an association request to the AP 30, because the MU 50 hears a beacon therefrom and determines that the AP 30 will provide the best connection to the network 65. In step 215, the AP 30 forwards the request to the NMA 60. The NMA 60 may then grant the request (step 220). It will be understood by those of skill in the art that the NMA 60 may alternatively deny the request, depending on a number of factors (e.g., identifying information of the MU 50, encryption information, current network load, unauthorized MU, etc.). However, for purposes of the present example, it is assumed that the NMA 60 grants the request. The NMA 60 may then notify the AP 30 of its grant of the request.
In step 225, the NMA 60 adds the MU 50 to the list of MUs supported by the AP 30. The list identifies all MUs which communicate with the AP 30. The MU 50 may then communicate with the AP 30 (step 230). That is, the AP 30 will acknowledge packets transmitted by the MU 50. This will be described in more detail with respect to
In step 235, the MU 50 migrates to a coverage area of another AP (e.g., the AP 20). The MU 50 continues to transmit packets (e.g., data packets, voice packets, etc.) and the APs that can hear the MU 50 may forward some or all of the packets to the NMA 60. Because the packets may contain location information (e.g., received signal strength indication (“RSSI”) values) pertaining to the MU 50, the NMA 60 may determine a location of the MU 50 relative to the APs 10-40. Thus, the NMA 60 may recognize when the MU 50 migrates to another coverage area, e.g., from the coverage area of the AP 30 to the coverage area of the AP 20.
In step 240, the NMA 60 modifies the lists of the APs 20 and 30 by, for example, deleting the MU 50 from the list of the AP 30, and adding the MU 50 to the list of the AP 20. Thus, the AP 20 responds to packets from the MU 50, and the AP 30 does not. Accordingly, the MU 50 communicates with the AP 20 (step 245). This procedure may be repeated each time the MU 50 travels to another coverage area or at any other rime determined by the NMA 60, thereby permitting roamless client-side communication.
In the method 200 described above, communication with another AP (i.e., the AP 20) was initiated by migration of the MU 50 into the coverage area of the AP 20 in step 235. However, it should be understood that communication with another AP may be initiated in a variety of other circumstances. For example, in another embodiment of the invention, the NMA 60 may transfer responsibility for the MU 50 to another AP based on RSSI values, throughput, load, etc., which may be indicated in packets forwarded from the AP(s) to the NMA 60. That is, the NMA 60 may receive packets from the APs 20 and 30 regarding the MU 50, because the MU 50 is in the coverage areas of both the AP 20 and the AP 30.
In step 310, the NMA 60 supplies each AP 10-40 with a list of MU addresses. The lists may be modified by the NMA 60 as a function of changes in the wireless network (e.g., MUs move, new APs are added etc.). However, as will be discussed below, each AP only acknowledges transmissions from the MUs that are included on its list.
In step 320, the MU 50 transmits a packet (e.g., a voice packet, a data packet, etc.) to the AP 20. Because the packet includes the BSSid used by the APs 10-40, each AP compares its list against the source address of the packet (step 330). For example, the AP 20 searches its list for information such as a medium access control (“MAC”) address, IP address, serial number, etc. which identifies the MU 50. Accordingly, in step 340, the AP 20 determines whether the MU 50 is on its list, and thus whether it should acknowledge the packet transmitted by the MU 50.
As discussed above with respect to the method 200, the presence of the MU 50 on a particular AP's list may be controlled by the NMA 60. However, according to an alternative embodiment, the APs 10-40 may be smart APs, thereby enabled to share lists. For example, as the MU 50 migrates from the coverage area of the AP 30 to that of the AP 20, the AP 30 may transmit information (e.g., a copy of its list, the entry for the MU 50 on the list, etc.) to the AP 20. If the AP 20 in step 340 determines that the MU 50 is on its list, the AP 20 transmits an acknowledgment (“ACK”) to the MU 50 (step 350). Thereafter, the MU 50 communicates with the network 65 through the AP 20. However, if the AP 20 determines that the MU 50 is not on the list, the AP 20 will ignore the packet. However, because the NMA 60 recognizes that the MU 50 has transmitted the packet, it may add the MU 50 to the list of another AP (e.g., the AP 30) to provide the MU 50 with a connection to the network 65.
The method 300 may be optimized in order to reduce a burden on the APs when screening a packet to determine if it was transmitted by an MU on its list. For example, a simple 32 to 128 byte bit map may be indexed using a lower 8 to 10 bits of the source address. Thus, if an addressed bit is 0, the packet is ignored by the AP. If the addressed bit is a 1, then the AP may accept the packet and perform further address searches. As such, a substantial amount of packets transmitted by the MUs not supported by the AP may be filtered out with few instructions. The method 300 may further be optimized by dividing the accepted packets into various hash buckets based upon some number of bits on the source address. Accordingly, packets which passed through the first filtration may be filtered out with merely a few more instructions.
Transmission of broadcast and multicast packets in the single BSS system may be handled similarly to the beacons. For example, the broadcast/multicast packets may be sent by the NMA 60 to the Primary APs. The Primary APs may transmit the broadcast/multicast packets either immediately upon receipt, or after a delivery traffic indication message (“DTIM”). The broadcast/multicast packets may be transmitted at random delays, thereby minimizing a potential for collisions.
The single BSS system may also vary from conventional protocols with respect to transmission of probe requests and responses. Particularly, the APs may be configured to ignore probe requests from the MU 50 which are below a specified RSSI threshold. Therefore, a potential conflict of multiple APs attempting to service the MU 50 is decreased. Further, if a first AP hears a response generated by another AP, the first AP may terminate transmission of its probe response. Copies of probe requests may be forwarded by the APs 10-40 to the NMA 60, thereby enabling the NMA 60 to monitor signal strengths of the MU 50 relative to the APs 10-40.
According to the exemplary embodiment, clear to send (“CTS”) packets may be transmitted by the Primary APs. However, all APs will respect a time interval specified by a request to send (“RTS”) packet.
The exemplary embodiment may also vary from a conventional system with respect to handling of poll and null packets. Also according to the exemplary embodiment, poll/null packets may be acknowledged by the AP that supports the MU 50. After the MU 50 transmits the packet, all APs that receive it forward it to the NMA 60. The poll/null packets may include location information (e.g., RSSI value) relating to the MU 50, and thus the APs may be configured to forward the packet only if the RSSI is above a predetermined threshold. Upon receiving the packets from the APs, the NMA 60 may select an optimal AP to support the MU 50, thereby deciding to “roam” based on updated information. Accordingly, even if the MU 50 is disabled (e.g., in power save mode, turned off, etc.) as it migrates out of range of the AP 30, the NMA 60 may determine that another AP is better suited to support the MU 50.
As discussed above, data packets are handled by the AP which supports the MU 50. According to the exemplary embodiment, other APs, which are not supporting the MU 50, may additionally forward a predetermined percentage of data packets (i.e., “sample packets”) for the MU 50 to the NMA 60. These sample packets provide the NMA 60 with additional signal strength information.
Embodiments of the present invention may also vary from a conventional system with respect to wireless multimedia (“WMM”) scheduling. Many of the WMM scheduling algorithms in conventional systems use beacon transmission time as a basis for controlling access to a channel. According to the exemplary embodiment, a similar WMM scheduling algorithm may be used, despite generation of beacons by only the Primary APs. Because the Secondary APs monitor and synchronize with the beacons transmitted by the Primary APs, they may recognize an appropriate time to transmit packets to their MUs.
As mentioned above, in the exemplary embodiment “roaming” is performed by the NMA 60, as opposed to a conventional system wherein it is performed by the MUs. That is, the NMA 60 transfers responsibility for the MU from one AP to another. An algorithm used by the NMA 60 to determine when to perform a roam procedure may be based on a combination of factors. For example, the algorithm may be based on RSSI values, data rates, retry counts, etc. The NMA 60 may receive a significant amount of data corresponding to each MU, because all APs may potentially forward copies of probe requests, copies of association packets, and the sample data packets. However, the roaming algorithm may be tailored to use only the data that it most pertinent to the NMA's decision.
The present invention may be efficient in saving costs related to reassociation and reauthentication. Specifically, a user will not experience a delay and/or a terminated communication (e.g., a “dropped call”) because the MU 50 is roaming in another coverage area. Thus, the MU 50 maintains a seamless connection to the network 65.
Another advantage of the present invention is that it can be implemented with only minor changes to a wireless switch protocol (“WiSP”). The minor changes may include addition of certain configuration options to the protocol. For example, configuration options for various procedures (e.g, specifying operation in Single BSS mode, specifying whether an AP is a Primary or Secondary, adding and/or removing MU addresses, and specifying a percentage of data packets to be “leaked” to the switch, etc.) may be added. The minor changes may also include indicating to the NMA 60 which packets are for NMA roaming usage.
The present invention may also be implemented without any client side upgrades.
The present invention has been described with the reference to the above exemplary embodiments. One skilled in the art would understand that the present invention may also be successfully implemented if modified. Accordingly, various modifications and changes may be made to the embodiments without departing from the broadest spirit and scope of the present invention as set forth in the claims that follow. The specification and drawings, accordingly, should be regarded in an illustrative rather than restrictive sense.