This application is a continuation of U.S. patent application Ser. No. 10/669,478, filed on Sep. 23, 2003, which is incorporated herein by reference.
TECHNICAL FIELD Embodiments of the present invention pertain to wireless communications and in particular, to communication units that associate with wireless networks.
BACKGROUND Wireless networks, such as wireless local area networks (WLANs), utilize various operating channels depending on their geographic region. At power up and during their operation, communication units scan channels for their geographic region to determine which channels are active. Channel scans also allow a communication unit to determine network identifiers, such as service set identifiers (SSIDs), associated with the active channels. Scanning is generally performed when a communication unit wishes to associate with (e.g., become part of or join) a wireless network, and when a communication unit wishes to re-associate with a network. Communication units may maintain connectivity with a network by scanning followed by an association and/or reassociation process, if required. Communication units may also perform scans to monitor network changes including the creation of new networks, among other things. As a result, a communication unit may spend a considerable amount of time and resources scanning for active channels.
One problem with channel scanning is that the time it takes (e.g., up to two or more seconds) is fairly significant in a wireless-networking environment where associations and reassociations can occur on a frequent and regular basis. Another problem with channel scanning is that it consumes resources of the communication unit, requiring increased processing and battery capability.
BRIEF DESCRIPTION OF THE DRAWINGS The appended claims are directed to some of the various embodiments of the present invention. However, the detailed description presents a more complete understanding of embodiments of the present invention when considered in connection with the figures, wherein like reference numbers refer to similar items throughout the figures and:
FIG. 1 illustrates an operational environment in which some embodiments of the present invention may be practiced;
FIG. 2 is a block diagram of a communication unit in accordance with some embodiments of the present invention;
FIG. 3 illustrates a bitmap table in accordance with some embodiments of the present invention;
FIG. 4 is a flow chart of a comprehensive scanning procedure in accordance with some embodiments of the present invention; and
FIG. 5 is a flow chart of a selective channel scanning procedure in accordance with some embodiments of the present invention.
DETAILED DESCRIPTION The following description and the drawings illustrate specific embodiments of the invention sufficiently to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of others. The scope of embodiments of the invention encompasses the full ambit of the claims and all available equivalents of those claims.
FIG. 1 illustrates an operational environment in which some embodiments of the present invention may be practiced.Communication environment100 may include one or more communication units (CUs)102, which may communicate with one or more access points (AP)104 overwireless communication channels106.Channels106 may comprise bi-directional communication links. CUs102 may include, for example, mobile units such as personal digital assistants (PDAs), laptop and portable computers with wireless communication capability, web tablets, wireless telephones, wireless headsets, pagers, instant messaging devices, MP3 players, digital cameras, and other devices that may receive and/or transmit information wirelessly. In some embodiments,CUs102 may also include access points, although the scope of the invention is not limited in this respect.
In some embodiments, CUs102 and APs104 may communicate in accordance with one or more communication standards, such as one of the IEEE 802.11(a), (b) or (g) standards, the Digital Video Broadcasting Terrestrial (DVB-T) broadcasting standard, and/or the High performance radio Local Area Network (HiperLAN) standard. In other embodiments,CUs102 may communicate with one or more ofAPs104 using a multi-carrier transmission technique, such as an orthogonal frequency division multiplexing (OFDM) technique that uses orthogonal subcarriers to transmit information within an assigned spectrum. Other wireless local area network (LAN) and wireless wide area network (WAN) communication techniques may also be suitable for communications betweencommunication units102 andaccess points104.
In addition to facilitating communications betweenCUs102, in some embodiments,APs104 may be coupled with one or more networks, such as an intranet or the Internet, allowingCUs102 to access such networks. AlthoughFIG. 1 illustrates point-to-point communications (e.g., where an access point synchronizes with a network), embodiments of the present invention may also be suitable to point-to-multipoint communications (e.g., peer-to-peer communications in which communication units may share the responsibility for synchronizing with a network). For example, some embodiments of the present invention are applicable to communications betweenCUs102 andAPs104 overchannels106 in accordance with a basic service set (BSS) mode. Some embodiments of the present invention, however, are equally applicable to direct communications overlinks108 betweenCUs102 in an ad-hoc mode. In these embodiments,CUs102 may use channels of an independent basic service set (IBSS), although the scope of the invention is not limited in this respect. In these embodiments, the IBSS channels may be a subset of the channels that are valid for a particular geographic region, although the scope of the invention is not limited in this respect.
In order to associate with a network through one ofAPs104, conventional communication units may scan all channels for their geographic region to determine which channels are active and to determine network identifiers (e.g., SSIDs) associated with the active channels. This scanning is generally performed each time a communication unit wishes to associate with (e.g., become part of or join) a wireless network, and each time the communication unit wishes to re-associate with a network. As mentioned earlier, a problem with such channel scanning is that it takes time (e.g., up to two or more seconds), which is significant in a wireless-networking environment where associations and re-associations may occur on a frequent and regular basis. Furthermore, the operating system as well as other wireless LAN applications may request the communication unit to perform periodic-comprehensive scans. Since these periodic-comprehensive scans may be performed fairly often (e.g., approximately once a minute), they can adversely affect the throughput and/or performance of the communication unit, and even disrupt higher-layer protocols such as the file-transfer protocol (FTP).
In accordance with some embodiments of the present invention, a communication unit, such as one ofCUs102, may reduce scan/association time by maintaining a single bitmap for one or more active channels associated with a single network identifier. The communication unit may associate and/or reassociate with a wireless network using network-interface circuitry and the bitmap for one or more of the active channels associated with a selected network identifier. In some embodiments,communication units102 may further reduce scan time by engaging in mixed mode scanning. In these embodiments, active scans may be performed for some predetermined channels, and passive scans may be performed for some other channels. Active and passive scans, in accordance with some embodiments of the present invention, are described in more detail below.
Although some embodiments of the present invention are described and illustrated for a mobile-communication unit, the scope of the present invention is not limited in this respect. Embodiments of the present invention are also applicable to access points which may perform neighborhood discovery, radar detection, and channel-width selection (e.g., per revisions of some IEEE 802.11 standards), among other things. As used herein and in the claims, the term “bitmap” may include any type of mapping including a bitmap, an array, a linked list, a hash table, etc.
FIG. 2 is a block diagram of a communication unit in accordance with some embodiments of the present invention. Communication unit (CU)200 may be suitable for use as one or more of CUs102 (FIG. 1) and/or AP104 (FIG. 1) although other communication devices may also be suitable for use. CU200 may include network-interface module202,operating system204 and I/O206, as well as other hardware and software elements that allow the communication unit to serve its primary purpose.
In some embodiments, network-interface module202 may include transceiver circuitry andfirmware212 for receiving and/or transmitting radio frequency (RF) communications withantenna208. RF signals received fromantenna208 may be down-converted to baseband signals and baseband signals may be up-converted for transmission byantenna208. Network-interface module202 may also include baseband circuitry (not separately illustrated) to convert between baseband signals and data signals that may be used by data processing circuitry andoperating system204. In accordance with some embodiments of the present invention,interface202 may detect packets and synchronize to symbol boundaries and may use a sequence of training symbols having a set of known characteristics.Antenna208 may comprise a directional or omnidirectional antenna, including, for example, a dipole antenna, a monopole antenna, a loop antenna, a microstrip antenna or other type of antenna suitable for reception and/or transmission of RF signals that may be processed byCU200.
In accordance with some embodiments of the present invention, network-interface module202 may also include driver circuitry andfirmware210 which may maintain a bitmap for active channels and their associated network identifiers. Transceiver circuitry andfirmware212 may responsively tune to one or more of the active channels using the bitmap for the one or more active channels to allow the communication unit to either associate or reassociate with a wireless network having a selected network identifier.
In accordance with some embodiments,CU200 may initially scan for active channels to determine network identifiers associated with one or more active channels and to generate bitmaps for the active channels. The bitmaps may be stored in channel-bitmap table214. Table214 may associate the bitmaps and network identifiers for the active channels. In some embodiments, driver circuitry andfirmware210 may generate and maintain the bitmaps in table214, and it may provide a bitmap to transceiver circuitry andfirmware212 for tuning to one or more channels in response to receipt of a network identifier (e.g., an SSID) fromoperating system204.
In some embodiments,CU200 may scan predetermined or selected channels to identify network identifiers associated with the predetermined channels that are active, andCU200 may generate a bitmap for the active channels and their associated network identifiers. In some embodiments, the predetermined channels may be predetermined for a geographic location of the communication unit.
Communication unit200 may associate with a wireless network by sending an association request on a channel having a selected network identifier through an access point. The selected network may authenticate the communication unit in response to a prior authentication request. As part of associating or reassociating,operating system204 may provide a selected or predetermined network identifier to network-interface module202, and driver circuitry andfirmware210 may retrieve a bitmap for the one or more channels associated with the network identifier. The retrieved bitmap may be provided to firmware of transceiver circuitry andfirmware212 to tune to the one or more channels for sending the association/reassociation request. Transceiver circuitry andfirmware212 may send the association/reassociation request to an access point, such as one of APs104 (FIG. 1) over a wireless link, such as one of channels106 (FIG. 1), using an antenna, such asantenna208. In some embodiments, the network identifiers comprise service set identifiers (SSIDs), although the scope of the invention is not limited in this respect.
In some embodiments, the scanning performed byCU200 may comprise passive scanning. Passive scanning may include for some embodiments, waiting at least a predetermined period of time for possible receipt of a beacon frame and/or a probe-response frame directed to another communication unit in response to a previously transmitted probe request from that other communication unit. The beacon frame may be broadcast by an access point on an active channel and may include the network identifier associated with the channel. In some embodiments, access points may send beacon frames on a particular channel on a regular basis (e.g., once every 100 ms or so) as part of their communications with communication units. In general, a beacon frame identifies the network associated with the channel it is being broadcast on, as well as other network-related information. In accordance with some embodiments,CU200 may build bitmaps for these active channels using the information in the beacon frame. The use of these internally stored bitmaps generated by passive scanning may reduce scan time, which in turn may reduce the total association and/or reassociation time, since subsequent scans for association may be restricted to those channels that are present in the bitmap.
In some embodiments of the present invention, the scanning performed byCU200 may comprise active scanning. Active scanning may include, for predetermined channels, transmitting a probe request on at least one of the predetermined channels. The channels may be predetermined for a particular geographic region in which the communication unit is set up to operate. When a probed channel is active, the communication unit may receive a probe response from an access point providing the channel. The probe response may include the network identifier associated with an active channel. In these embodiments,CU200 may build bitmaps for these active channels using the information in the probe response.
In some embodiments, the probe requests may comprise a probe-request frame or message, and the probe response may comprise a probe-response frame or message. In some embodiments,CU200 may transmit a probe request and wait for a probe response before moving to a next channel selected from the list of predetermined channels. In some embodiments,CU200 may wait for about 10 ms for a probe response, although the scope of the invention is not limited in this respect. The use of these internally stored bitmaps generated by active scanning may reduce scan time, which in turn may reduce the total association and/or reassociation time. Since an active scan may takes about 10 ms per channel as compared to passive scan which may takes about 100 ms, this bitmap not only may reduce the number of channels to be scanned but also may reduce the time spent scanning in each channel.
In some embodiments, the predetermined channels may have subset of channels which may be referred to as independent basic service set (IBSS) channels for a geographic location of the communication unit. In these embodiments, channel bitmaps for these channels may be stored in IBSS channel-bitmap table216. A communication unit configured in BSS mode may perform active scanning in the IBSS channels even when these channels are not active (e.g., are used by a network). In a mixed-mode scanning embodiment,CU200 may perform both passive and active scanning, which may further reduce scan time, and which in turn may reduce the total association and/or reassociation time. Furthermore, run-time latencies may be reduced due to periodic-comprehensive scans. It should be noted that mixed-mode scans using an IBSS channel set in BSS mode may be particularly useful for runtime comprehensive scans because a communication unit may scan valid channels irrespective of the SSID.
In some embodiments, I/O206 may be configured to allow a user to select a network. In these embodiments, the user may select a network by inputting a network name, network identifier (such as an SSID), or other network description. In these embodiments,operating system204 may determine the network identifier and provide it to interfacecircuitry202 for association with the network using the bitmap from table214 for the network identifier.
AlthoughCU200 is illustrated as a wireless communication device,CU200 may be almost any wireless or wireline communication device, including a general purpose processing or computing system. In some embodiments,CU200 may be a battery-powered device. In some of these embodiments,CU200 may not require an external antenna. AlthoughCU200 is illustrated as having several separate functional elements, one or more of the functional elements may be combined and may be implemented by combinations of software-configured elements, such as processing elements including digital signal processors (DSPs), and/or other hardware elements. For example,operating system204 as well as other elements ofCU200 may be implemented by processing elements, which may comprise one or more microprocessors, DSPs, application specific integrated circuits (ASICs), and combinations of various hardware and logic circuitry for performing at least the functions described herein.
FIG. 3 illustrates a bitmap table in accordance with some embodiments of the present invention. Bitmap table300 may be generated by a communication unit, such as one or more of CUs102 (FIG. 1) and/or CU200 (FIG. 2). In some embodiments, bitmap table300 may be generated by an access point, such as AP104 (FIG. 1). In some embodiments, bitmap table300 may be generated by driver circuitry, such as driver circuitry and firmware210 (FIG. 2) and stored as channel-bitmap table214 (FIG. 2), although the scope of the invention is not limited in this respect. Although bitmap table300 is illustrated as a table, those skilled in the art will appreciate that the information may be stored in other data structures, such as hash tables.
Bitmap table300 may includecolumn302 comprising network identifiers,column304 comprising one or more channels corresponding to the network identifier ofcolumn302, andcolumn306 comprising a bitmap generated for the one or more channels ofcolumn304. As illustrated in table300, channel scanning by a communication unit may have identifiedSSID #1 onchannels1 and4, resulting in the generation of a bitmap, such as bitmap “0×9”. The particular bitmap may depend on the valid channel set for the geographic region for which table300 is being generated for. For example, when the valid channel set is comprised ofchannels1 through10 andSSID #1 were present onchannels1 and4, the resulting bitmap may be “0×9” depending on the valid channel set. This particular bitmap may allow the transceiver circuitry to tune tochannels1 and4 when provided by the driver circuitry. As also illustrated in table300, a channel scan may have identifiedSSID #2 onchannels2 and4 resulting in the generation of a bitmap, such as bitmap “0×a”. This particular bitmap may allow the transceiver circuitry to tune tochannels2 and4 when provided by the driver circuitry.
In accordance with some embodiments, a transceiver, such as transceiver circuitry and firmware212 (FIG. 2), tunes to the channels in a serial manner. A scan implementation layer of a media access controller (e.g., a MAC) may control the duration of dwell time per channel. For example if the scan was implemented in firmware and the channel bitmap was being maintained in a driver, the driver may send a “scan command” to firmware along with the bitmap of the channels to scan. The firmware may then start a loop to scan through these channels, one at a time. In these embodiments, the transceiver may be tuned to a specific channel for a certain duration, which may depend on the protocol and may be implementation specific. At the end of this duration, the firmware may tune the transceiver to the next channel in the bitmap and may repeat the process. An example of a procedure for performing periodic-comprehensive scans is illustrated below inFIG. 4.
A communication unit may perform association scans and/or runtime periodic-comprehensive scans. In accordance with embodiments of the present invention, scan time may be reduced in association scans at least because of the channel bitmaps based on SSIDs generated with the help of periodic-comprehensive scans. In some embodiments, these SSID-based channel bitmaps may restrict an association scan to the channels enabled in the bitmap. The communication unit may perform active scans on the channels present in the bitmap. In a periodic-comprehensive scan, the scan time may be reduced at least because of mixed mode scanning. The communication unit may use the IBSS channels bitmap even when the unit is configured for BSS mode and may actively scan the IBSS channels. On the remaining channels, the communication unit may perform active and/or passive scans. When the IBSS channel bitmap is not used, the communication unit may have performed passive scans on the IBSS channel when there was no wireless LAN activity in those channels. This is further illustrated below inFIG. 4.
In some embodiments, bitmaps may be generated for access points that are configured in a stealth mode. In stealth mode, the access point does not include a network identifier (e.g., an SSID) in its beacons or beacon frames. In these embodiments, a communication unit may construct a channel bitmap for channels on which beacons with missing identifiers are received. These bitmaps may also be maintained in the driver circuitry or firmware and may be used in subsequent association and/or reassociation attempts by a communication unit.
In some embodiments, a communication unit may regularly maintain and update bitmap table300 by performing periodic maintenance scans. As a result of a periodic maintenance scan, a bit map corresponding to a channel for a certain access point or network identifier may be disabled if signals are not received by the access point during a predetermined number of such periodic scans or after a predetermined period of time.
FIG. 4 is a flow chart of a comprehensive scanning procedure in accordance with some embodiments of the present invention.Procedure400 may be performed by a communication unit, such as one or more of CUs102 (FIG. 1) or CU200 (FIG. 2), although other communication units may also be used to performprocedure400. In some embodiments,procedure400 may be performed by an access point, such as AP104 (FIG. 1).
Operation402 selects a valid channel set for the geographic region where the communication unit resides. In some embodiments, the communication unit may use an internal global-positioning receiver to identify the geographic region. The channels valid for various geographic regions may be stored in memory of the communication unit. In some embodiments,operation402 may select a first channel of a set of channels that are valid for the geographic region, andoperations404 through410 may be performed for the selected channel.
Operation404 determines whether the selected channel is enabled in the IBSS channel bitmap. When the channel is enabled,operation406 may be performed which includes performing an active scan. When the channel is not enabled in the IBSS channel bitmap,operation408 may be performed which includes performing a passive scan.
For example, valid channels for a particular geographic region may comprisechannels1 through7 and IBSS channels may be a subset of the valid channels and may comprisechannels2,4 and6. The IBSS channel bitmap may be 0×2A, which may be based onchannels1 through7 being active andchannels2,4 and6 being selected by the bitmap for tuning.
Inoperation406, the communication unit may perform an active scan on the selected channel. The active scan may include tuning to the selected channel, sending a probe request, and waiting for a probe response.Operation406 allows the communication unit configured to work in BSS mode to take advantage of the IBSS bitmap for the periodic-comprehensive scans.Operation406 may also allow the communication unit to perform active scans on the IBSS channels even though the IBSS channels may not be active.
Inoperation408, the communication unit may perform a passive scan on the selected channel. The passive scan may include tuning to the selected channel and waiting for at least approximately a beacon interval to receive beacons. If a beacon is not received within a predetermined period of time,operation402 may be repeated for a next channel. Upon completion ofoperation408, the communication unit may repeatoperation402 for other channels. Channels may be tuned to in any order, and there is no requirement that the channels be tuned to in any order.
Inoperation410, the data received in eitheroperation408 or410 may be recorded for the selected channel. The data may include one or more SSIDs and other data about the access point or wireless network.
Operation412 determines if there are additional channels remaining for the geographic region. When there are additional channels,operations402 through410 may be repeated for the remaining channels. When there are no more additional channels,operation414 may be performed which ends the periodic-comprehensive scan ofprocedure400.
FIG. 5 is a flow chart of a selective channel scanning procedure in accordance with some embodiments of the present invention. Selectivechannel scanning procedure500 may be performed by a communication unit, such as one or more of CUs102 (FIG. 1) or CU200 (FIG. 2), although other communication units may also be used to performprocedure500. In some embodiments,procedure500 may be performed by an access point, such as AP104 (FIG. 1).
Inoperation502, a communication unit may perform an initial scan to identify active channels and, in many cases, their network identifiers. The initial scan may be a comprehensive scan, such as the periodic-comprehensive scan described in procedure400 (FIG. 4) to identify all active channels. In some embodiments, the communication unit may perform passive scans on certain channels, while in other embodiments (e.g., mixed-mode embodiments) the communication unit may perform an active scan (e.g., operation504) on certain channels and a passive scan (e.g., operation506) on other or remaining channels.
Inoperation508, a communication unit may generate a bitmap for the active channels identified in operations502-506. In some embodiments, a single bitmap may be computed for one or more channels having the same network identifier.
Inoperation510, the bitmaps generated for the one or more active channels and their associated network identifiers (e.g., SSIDs) may be stored in a bitmap table, such as table300 (FIG. 3). In some embodiments,operations502 through510 may be performed sequentially for each channel being scanned, or sequentially for each active channel identified, although the scope of the invention is not limited in this respect. There is no requirement for sequential tuning to channels, and embodiments of the present invention are applicable to tuning to channels in any order.
Inoperation512, the communication unit may associate with a network using the channel bitmap for a channel having the network's identifier. The network may be predetermined, preprogrammed into the communication unit, or selected by a user. In some embodiments, the particular network may be selected by the communication unit based on a preprogrammed set of guidelines based on, for example, cost of service, quality of service, security, and/or bandwidth of the network connection.
Operation514 determines if the association with a network has been lost. When the association has not been lost,operation516 may be performed in which the communication unit may wait until it is time to perform a periodic-comprehensive scan, such as the periodic-comprehensive scan of procedure400 (FIG. 4).
Whenoperation514 determines that the association has been lost,operation518 may be performed. In some embodiments,operation518 may be performed when the communication unit determines that association has been lost while waiting to perform a periodic-comprehensive scan, rather than performing the periodic-comprehensive scan.
Inoperation518, the communication unit may selectively scan for active channels identified in the bitmap table. In some embodiments, the communication unit may first selectively scan for active channels identified in the bitmap table having selected or predetermined network identifiers, and if no such active channels are identified, the communication unit may then scan the other channels identified as valid channels for the geographic region. In some embodiments,operation518 may include periodic maintenance scans. In some embodiments,operation518 may include active scans (e.g., operation504) as well as passive scans (e.g., operation506).
Inoperation520, the communication unit may associate and/or reassociate with a network based on the selective scanning performed inoperation518. In some embodiments, the operating system of the communication unit may provide a network identifier, such as an SSID, to the network-interface circuitry and the driver circuitry may responsively provide the corresponding bitmap to the transceiver circuitry for tuning to the one or more channels corresponding to the bitmap.
Operations518 and520 may be performed on a regular basis by a communication unit as the communication unit changes location and engages in communications with one or more access points. Through the use of selective scanning, the amount of time and resources required may be reduced.
Although the individual operations ofprocedures400 and500 are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated.
Embodiments of the invention may be implemented in one or a combination of hardware, firmware and software. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, electrical, optical, acoustical or other form of propagated signals (e.g., carrier waver, infrared signals, digital signals, etc.), and others.
It is emphasized that the Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims.
In the foregoing detailed description, various features are occasionally grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the subject matter require more features that are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate preferred embodiment.