Access control for wireless systems

In a wireless system comprising a server and at least one access point operatively coupled to the server, a technique for controlling access to the at least one access point comprises the steps of: (i) assigning a profile to a station adapted for communication with the system, the profile representing at least an access characteristic of the station; and (ii) associating the station to the at least one access point based at least in part on the profile assigned to the station. Access to the at least one access point by the station is thereby selectively controlled by the at least one access point. The access control methodology of the present invention advantageously can allow a system manager to selectively control the accessability of the wireless system to a user, and is configurable to provide such access control at the access point level.

FIELD OF THE INVENTION

The present invention relates generally to wireless systems, and more particularly relates to access control techniques for use in a wireless system.

BACKGROUND OF THE INVENTION

Proliferation of computers and wireless communication together has brought us to an era of wireless networking. The recent growth of wireless networks is driven, at least in part, by such benefits as ease of installation, mobility, and flexibility. These benefits can offer gains in efficiency, accuracy, and lower business costs.

The use of wireless and mobile data transfer technologies has created new issues of concern involving, for example, security-related issues such as authentication (e.g., verifying the identity of communicating client stations), confidentiality or privacy, and data integrity (e.g., insuring that data messages are not modified in transit between wireless client stations and access points). The flexibility of wireless networks has a primary drawback in that data is no longer propagated through wires, but instead is sent using radio frequency transmissions that are susceptible to eavesdropping and interference, which undesirably affects security-related issues.

The Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, and the supplements relating thereto, address medium access control over a WLAN. The IEEE 802.11 specification includes certain built-in features for providing a secure operating environment. Wireless LANs compliant with IEEE 802.11 generally attempt to combat data security problems through the use of open system cryptographic techniques for the wireless interface. The security services are provided largely by the wired equivalent privacy (WEP) protocol to protect link-level data during wireless transmission between client stations and access points. That is, WEP only provides a security mechanism for the wireless portion of the connection. The WEP cryptographic technique for confidentiality also uses an RC4 (Ron's Code #4 or Rivest) symmetric-key, stream cipher algorithm to generate a pseudo-random data sequence. The IEEE 802.11 standard is set forth in the document IEEE Std. 802.11, entitledSupplement to IEEE Standard for Information Technology—Telecommunications and Information Exchange Between Systems—Local Metropolitan Area Networks—Specific Requirements—Part11: Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications,1999 Edition, and in the supplements relating thereto, which are incorporated herein by reference.

Open system authentication is essentially a null authentication in which any station is authenticated by the access point. Shared key authentication typically supports authentication of stations either with or without knowledge of a shared secret key and is generally accomplished by sending clear text to the station. The station then encrypts the clear text data and sends the encrypted data back to the access point. If the station has the correct key, the access point can decrypt the message and authenticate the station.

The conventional authentication key process of transmitting both clear text data and encrypted data leaves this methodology highly vulnerable to eavesdropping, interference and/or other security-related issues. Although the IEEE 802.11 specification provides some degree of security, it does not solve the problem of access control at the wireless level.

There is a need, therefore, for improved access control techniques for use in a wireless system which address the above-mentioned security-related problems.

SUMMARY OF THE INVENTION

The present invention provides techniques for selectively controlling access to one or more access points in a wireless system, such as wireless network. An access point may include one or more nodes in the wireless system.

In accordance with one aspect of the invention, in a wireless system comprising a server and at least one access point operatively coupled to the server, a method for controlling access to the at least one access point comprises the steps of: (i) assigning a profile to a station adapted for communication with the system, the profile representing at least an access characteristic of the station; and (ii) associating the station to the at least one access point based at least in part on the profile assigned to the station. Access to the at least one access point by the station is thereby selectively controlled by the at least one access point.

The access control methodology of the present invention advantageously allows a system manager to maintain full control on the accessability of the wireless system by a user. The access control methodology provides such access control at the access point level. Access control privileges may be distinguished according to user type, or alternative criteria, by assigning a profile corresponding to each user in the system. The profile is preferably decrypted by trusted access points and the server, such that invalid access points and/or profiles will not function properly in a system employing the access control scheme.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will be described herein in the context of an exemplary wireless local area network (WLAN). It should be appreciated, however, that the present invention is not limited to this or any particular WLAN configuration and/or application. Rather, the invention is more generally applicable to techniques for selectively controlling access to one or more access points, which may include one or more nodes, in a wireless system. Also, although particularly well-suited for use in conjunction with the IEEE 802.11 standard, the invention can be used with other standards, as well as in non-standard systems.

FIG. 1depicts an illustrative wireless system100, which may include a WLAN, in which the present invention may be implemented. Wireless system100may include a plurality of stations102, which typically comprise computers, telephones, personal data assistants (PDAs), or other devices equipped with a wireless network interface card (NIC). The wireless system100further includes a plurality of access points (AP)104, which typically serve as wireless bridges or interfaces between a wireless network and a wired network106(e.g., Ethernet LAN). Access points, which may include one or more nodes in the system, are coupled to the wired network106and generally receive and transmit signals between the stations102and the network106. Any device in the range of a given access point can send and receive information from this point.

FIG. 2illustrates an exemplary WLAN200, formed in accordance with the present invention, which may be implemented in the wireless system ofFIG. 1. The WLAN200preferably includes a plurality of stations (STAs)202,204and206, which, as previously stated, may comprise computers, telephones, PDAs, or other devices equipped with a wireless NIC. Users may communicate with the network through one or more of the stations. Each of the stations202,204,206in the exemplary WLAN200are configurable to communicate with one or more access points (APs)208,210and212by way of a wireless channel228, such as, but not limited to, radio frequency (RF) or infrared (IR), established between a station and an access point. A station may communicate with more than one access point. The access points208,210,212are preferably connected to a server220through a wireline network or local area network (LAN)226, such as, for example, ethernet, token ring, etc, although alternative connection arrangements are similarly contemplated. The term “server” as used herein is intended to include a single server arrangement or a plurality of servers connected, for example, in a distributed arrangement, as will be understood by those skilled in the art.

The methodologies of the invention, as will be described herein, preferably allow a valid user or users to access one or more access points, and thereby access files (depending on the user and organization) in the server220. Moreover, the methodologies of the invention preferably provide a network administrator full access to the access points, including the authorization to load new firmware, while providing certain users (e.g., guest users, test users, etc.) selective access (e.g., controlled roaming, limited access to services/servers) to the access points. The techniques of the present invention may be used with any existing security schemes for WLANs or other wireless systems.

In accordance with one aspect of the invention, an access control methodology preferably utilizes a plurality of different profiles224(e.g., p=0, 1, . . . ), which may be stored in server220. Alternatively, such profiles224may be stored externally to the server, such as in a database (not shown) that is selectively uploadable by the server. Each profile corresponds to a particular user type, such as, for example, guest user, test user, master user, normal user, etc. Each profile type preferably includes certain access characteristics associated therewith. These access characteristics may affect, among other things, which access points in the network the corresponding user can access and the extent of such access (e.g., read only access, read/write access, etc.). The profiles may be encrypted by a shared key (K)214included in each of the access points208,210,212and in the server220. The shared key214is preferably the same throughout the network. Essentially any encryption algorithm may be used to encrypt the profiles.

An exemplary access control methodology, in accordance with the present invention, will now be described. First, all users are preferably assigned a particular profile (e.g., 0=default profile with no access rights; 1=normal user profile; 2=test profile; 3=master profile; 4=guest profile; etc.). As previously stated, each profile will be related to a certain group of one or more access points and services and/or servers (e.g., network accessibility) which the user may access. By way of example only, assume a normal user station206has access to all access points, but cannot perform tests or otherwise make changes in the access points; a master user station204has access to all access points208,210,212and may modify the access points, such as by uploading new software, etc.; and a guest/test user station202has full access to all access points208in a guest/test group, but may operate as a normal user when accessing other access points outside of the guest/test group. As used herein, the guest/test user station202may be a guest user station, a test user station, or both. In the server220, the profile of a given user may relate to a unique identifier associated with the user, such as, for example, the user's password, login name, or other identification used by the server to recognize the user.

Once a particular profile is assigned to a user, the profile information is obtained and related access points are informed of the user's profile. This may be accomplished, for example, by encrypting the profile by a shared key known to all access points in the given network and to the server storing the profile. A network manager can preferably change the shared key in all access points in a single procedure by using, for example, a network management tool, as will be understood by those skilled in the art. The frequency with which the key should be changed may depend upon the level of security desired in the network. For instance, stricter security measures may require that the shared key be changed more frequently.

With reference now toFIG. 3, there is shown an illustrative methodology300for obtaining profile information corresponding to a given station/user302and informing a related access point304of the user's profile. As used herein, a station/user may be defined as a station and/or an associated user communicating through the station. When a user logs in to a server306through a particular access point304, the server checks the user name and password at step312to verify that the user is a valid user (i.e., authentication). The user may log in to the server306using any protocol, such as, but not limited to, RADIUS (remote authentication dial-in user service), Kerberos, etc. When the server authenticates the user, an acknowledgment (ACK) message along with an encrypted profile (Ek) are preferably sent to the access point304through which the user is logging in. The access point304preferably decrypts and saves the profile at step316and sends the encrypted profile and acknowledgment to the station302through which the user is logging in. When the server306cannot authenticate the user, the server preferably sends a negative acknowledgment (NACK) message to the access point304and station302through which the user is logging in.

Preferably, the encrypted profile is stored in the station302only when the station is switched on, and is removed when the station is switched off or when the user logs out. When the user logs out, the station may remove the profile. Alternatively, the server306may send a default profile to the station302which is common to all users and provides no access privileges. Similarly, the access point304can either remove the profile and/or station from a list of related profiles and/or stations, or copy the default profile for that particular station302.

InFIG. 4, an exemplary methodology400is depicted for associating and/or re-associating a station402with a given access point404. As apparent from the figure, when a station402associates and/or re-associates with an access point404, the station sends the encrypted profile (Ek) to the access point along with an association or re-association request. After receiving the request, the access point404preferably decrypts the profile at step406. Once the profile is decrypted, the access point404knows the extent of access to be given to a user logged in through the particular station402. The access point404also knows the other access points in the network to which the user is allowed to access.

The access point404preferably verifies the validity of the profile at step406. When the profile is determined to be valid, the access point404saves the profile at step406and returns an acknowledgment (ACK) message to the station402, thereby indicating a successful association and/or re-association. As illustrated inFIG. 5, when the access point404detects an invalid or absent profile (which may be referred to as a “bogus profile”) at step406, the access point404will not be associated and/or re-associated with the particular station402, and the access point will return a negative acknowledgment (NACK) message to the station originating the association request.

An association and/or re-association request should always be accompanied by an encrypted profile. When a new user logs in to the network through a station being concurrently used by another user (i.e., the other user is still logged in), the profile of the previous user can be removed or both of the profiles may be kept. In this scenario, a priority level may be assigned to each of the concurrent users so as to eliminate potential conflicts. In a present access point, the profile having the highest priority will be kept. Alternatively, depending upon the organization, the access point may be configured such that the profile having the least priority is kept. When one of the users logs out, the profile corresponding to that user may be removed from the station if two or more profiles are being maintained. When such station moves to a different access point in the network, the profile having the highest priority (or least priority, depending on how the access point is configured) will be sent during the association procedure.

In an illustrative embodiment of the invention, only one user is logged in through a station at a particular moment, and thus only one profile is maintained in the station. This scenario simplifies the design of the station and access points and reduces the amount of information that must be maintained by the station and access points. Alternatively, one or more of the access points may support multiple users logged in through a particular station concurrently. In this manner, the access points may be configured to store additional information, such as, for example, station media access control (MAC) addresses, as well as the names and profile, associated with each user.

In general, profiles will preferably be modified when the password associated therewith expires. However, for security purposes, a network manager may want to modify the profiles more often. Accordingly, the access control protocol may be configured such that the profiles include a parameter (e.g., an aging parameter) for indicating an expiration of the profile. By limiting the amount of time a particular profile remains valid, the wireless network can advantageously be made more secure. Since the expiration parameter relates to timing, a profile expiration methodology may be performed in the following manner, in accordance with an illustrative aspect of the present invention.

First, a timeout period is established for the profiles. This can be done, for example, on an individual basis, whereby different timeout periods are set for each profile, globally, whereby all of the profiles are assigned the same timeout period, or in other ways, such as a hybrid of individual and global timeout periods. Alternatively, certain groups of profiles may be set to have the same timeout period (e.g., normal users, guest users, etc.). The timeout period, or timeout periods when multiple periods are employed, may be maintained at both the access points and the stations. Next, an encrypted timestamp/timeout period pair and an unencrypted timestamp/timeout period pair are included in the profile. When a profile timeout occurs, the station may initiate a request for a new profile. The unencrypted timestamp and timeout period pair may be used by the station for determining when to request a new profile. The encrypted timestamp and timeout period pair may be used by the access point to validate a new profile request from the associated station.

Upon receiving a request for a new profile from a particular station, the access point preferably checks the timeout of the profile for that station/user. When the request for a new profile from the station is determined to be valid, the access point will forward the new profile request to the server, which then sends the new profile to the access point and associated station. When the access point determines that the request from the station is invalid, an indication (e.g., error message, alarm, etc.) may be sent to the server, together with the available station and user information.

The WLAN of the present invention may be configured such that profiles can be changed at times other than during the profile expiration process previously described. For example, a network manager may want to immediately revoke (or provide) access privileges to one or more users logged into the WLAN. This type of profile change may be referred herein as a “sudden profile change.” When a sudden profile change occurs, the access points and associated stations are preferably notified of this change. A sudden profile change may be accomplished in the following illustrative manner, in accordance with the invention. First, the server sends a new profile, which may be encrypted, and broadcasts a profile change relating to one or more stations to one or more access points. Next, the access point associated to the station reads the profile and then sends the new profile to the station. Upon receiving the profile from the access point, the associated station changes its profile.

Users maybe confined to certain areas or groups, depending on their respective profiles. By way of example only, guests may be allowed to access the WLAN only from a showroom, or test engineers allowed to access the WLAN for test purposes only in designated areas. Moreover, users may be allowed to move or otherwise roam from one access point to another access point in the network without the need for logging in to the server (e.g., supplying user name and password) each instance. This selective access control may be referred to herein as “controlled roaming.”

An illustrative methodology for controlled roaming may be performed in the following manner, in accordance with the invention. First, each profile may include a MAC address field and be assigned one or more MAC addresses corresponding to access points with which the profile is allowed to communicate. For certain profile types (e.g., master and normal users) that provide access to all access points in the network, this MAC address field may not be utilized, or may be set to some null value. Next, when a station associates or re-associates, or otherwise sends its profile to an access point, the access point determines whether the station is listed in the MAC address list of the profile. For those profiles which do not use the MAC address field, this step may be omitted.

FIG. 6illustrates an exemplary profile format, in accordance with one aspect of the invention. As apparent from the figure, a profile600may include a plurality of fields, such as, for example, a user type field602, a MAC address field610, a user name field612, a first timeout period field614, a first timestamp field616, a second timeout period field618and a second timestamp field620. The position of each field in profile600is arbitrary. The first timeout period/timestamp field pair is preferably encrypted, while the second timeout period/timestamp field pair is unencrypted. One or more of the fields in profile600may further comprise additional fields. For instance, the user type field602may further include a profile type field604, a MAC addresses field606and a network accessibility field608. It is to be understood that the format fields are merely illustrative, and that additional or different fields may be included in a given profile. Moreover, not all fields shown herein may be used by every access point in the network. Alternative profile formats are similarly contemplated by the invention.

As previously stated, the illustrative parameter definitions in Table 1 below maybe employed for the profile fields in profile600.

TABLE 1Profile FieldParameter DescriptionUser type:Indicates the type of user associated with theProfile typeprofile. The number of different profile types isa flexible parameter and is not limited. Possibletype include, for example, guest user,test user, manager, normal user, etc.User type:Indicates the MAC addresses of access pointsMAC addresseswhich a station and/or associated user isallowed to access.User type:Indicates the areas of a network that aNetwork accessibilitycorresponding user is allowed to access. Thisis a flexible parameter which can bedefined in various ways, including servicesto which a user is allowed to access, serversto which a user is allowed to access, etc.MAC addressIndicates the MAC address of the stationassociated with the profile.User nameIndicates the login name of the userUnencryptedRelates to profile expiration and indicates thetimeout periodtime period during which the profile is valid or,in other words, the time period after which anew profile should be requested from theserver.Unencrypted timestampRelates to profile expiration and indicates whenthe profile was created. This parameter may beused as a starting point of the timeout period.Together with the unencrypted timeout periodparameter, the timestamp/timeout parametersmay be used to determine the lifetime of theprofile and request a new profile.Encrypted timeoutThese parameters together may be used by theperiod and timestampaccess point to verify whether the station isrequesting a profile during a valid timeinterval. Since it is encrypted, the access pointknows whether or not the profile has beenmodified by the station.

By way of example only,FIGS. 7A and 7Bdepict several illustrative access control methodologies between a given station/user (STA)702, access point (AP)704, and server706, in accordance with one aspect of the present invention. As previously stated, the term station/user as used herein refers to a station and/or a user associated with the station. Such exemplary access control methodologies include, for example, normal profile exchange708, association and/or re-association710, profile timeout712, sudden profile change714, station reset and/or power down716, station break connection718, and new user login720procedures.

With reference toFIG. 7A, an exemplary normal profile exchange procedure708includes a login step, wherein a user/station702sends identification information (e.g., user name and password) in the form of an authentication request to the server706through the access point704. The server706checks the user profile at step722and sends a server login response (e.g., acknowledgment) and profile, which may be encrypted, to the access point704. The access point then decrypts and saves the profile at step724. Subsequently, the access point704sends an authentication response, the server response and the profile, which may be encrypted, to the station702initiating the authentication request. The station702saves the profile at step726. A profile exchange procedure was also described above in conjunction withFIG. 3.

When the user sending the authentication/login request cannot be authenticated by the server at step722, the server may send a negative acknowledgment (NACK) message to the access point704as its server login response. A profile may not be sent by the server in this instance. The access point, upon receipt of a negative acknowledgment from the server, may omit step724and simply pass the negative acknowledgment as the server login response to the station702, without sending a profile. In this instance, the station may omit step726. In response to the negative acknowledgment, the station702may initiate another action, such as, for example, re-sending the authentication request/server login, thereby starting the normal profile exchange procedure708again.

An exemplary association and/or re-association procedure710for associating or re-associating a station702with an access point704includes sending an association request and profile, which may be encrypted, from the station702to an access point704. The access point702, upon receiving the association request, decrypts and compares the profile at step728in order to verify the validity of the received profile. When a valid profile is determined to be valid, the access point704saves the new profile at step728and sends an association/re-association response (e.g., acknowledgment) to the station702originating the association request. A procedure for associating and/or re-associating a station with an access point was also previously described in connection withFIG. 4.

An illustrative profile timeout procedure712may include the step of sending a “user alive check” from access point704to an associated station702to check the status of the user/station, e.g., to determine whether or not the timeout period of the profile has expired. When the profile timeout period has expired, or the user/station otherwise requests a new profile, the station702sends a new profile request along with the old profile, which maybe encrypted, to the network server706through the associated access point704. At step730, the server706checks the new profile and sends the new profile, which may be encrypted, to the access point704. The access point704, at step732, removes (e.g., deletes) the previous profile, decrypts the new profile (if encrypted), and saves the new profile. The access point704then sends the new profile, which may be encrypted, to the associated station702. At step734, the station702removes the previous profile and saves the new profile.

As previously stated, a network manager may choose to change the profile of one or more users/stations at a particular time other than after the expiration of a profile timeout period. Accordingly, the access control methodologies of the present invention preferably support a sudden profile change. In an illustrative sudden profile change procedure714, the server706sends a new profile, which may be encrypted, and broadcasts a user parameter (e.g., profile change) relating to a given station702to the access point704. Next, the access point704, upon receiving the new profile from the server706, removes the previous profile and checks to determine whether the user/station702is associated with the access point704at step736. If the station702is still associated with the access point704, the access point decrypts and saves the new profile at step736. The new profile, which may be encrypted, is then sent to the associated station702. Upon receiving the new profile from access point704, station702removes the previous profile and saves the new profile at step738.

With reference now toFIG. 7B, during a station reset/power down procedure716, the profile stored in the station702is removed (e.g., deleted). Similarly, during a station break connection procedure718, the station702removes the profile at step742and sends a logout or disassociation/de-authentication request to the associated access point704. Upon receiving the logout request from the station, the access point removes the profile at step744. The access point704then sends a default profile to the station702. The station702saves the default profile at step746. A default profile, as previously explained, may be defined such that the corresponding station is denied access privileges to any of the access points in the network, thereby ensuring network security.

When a new user desires to log in at a station already logged in to the network, the following exemplary new user login procedure720may be employed. First, the station702sends an authentication request/server login message to the server706through an access point704. At step748, the server706verifies the validity of the new user. When the new user is determined to be a valid user, the server sends a login response, such as, for example, an acknowledgment (ACK) message, along with the profile, which is preferably encrypted, to the access point704. Upon receiving the new user profile, the access point704decrypts and saves the new profile at step750. The access point then removes the previously stored profile at step750. The access point704subsequently sends an authentication response, the server login response (e.g., ACK) and new profile, which is preferably encrypted, to the station702. Upon receiving the new profile, the station removes the previous profile and saves the new profile at step752.

When the server706cannot authenticate the user at step748, the server may send a negative acknowledgment (NACK) message as its server login response to the access point704. In this instance, the access point may omit step750and simply pass the negative acknowledgment from the server706to the station702. In this instance, the station may omit step752.

FIG. 8depicts an illustrative processing device800in which one or more components of the wireless networking system, including the server, the access point, or the station, may be implemented, in accordance with the invention. In this illustrative implementation, a processor802for implementing at least a portion of the methodologies of the invention is operatively coupled to a memory804and an I/O interface806via a bus808, or an alternative connection arrangement. It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a central processing unit (CPU) and/or other processing circuitry (e.g., digital signal processor (DSP), microprocessor, etc.). Additionally, it is to be understood that the term “processor” may refer to more than one processing device, and that various elements associated with a processing device may be shared by other processing devices. The term “memory” as used herein is intended to include memory and other computer-readable media associated with a processor or CPU, such as, for example, random access memory (RAM), read only memory (ROM), fixed storage media (e.g., hard drive), removable storage media (e.g., diskette), flash memory, etc. Furthermore, the term “I/O” as used herein is intended to include, for example, one or more input and/or output devices (e.g., keyboard) and/or one or more input and/or output ports (e.g., RS-232, infrared, radio frequency (RF), etc.) for transferring data between the processor and another system component.

It is to be appreciated that while the present invention has been described herein in the context of a network communication system, at least a portion of the methodologies of the present invention may be capable of being distributed in the form of computer readable media, and that the present invention applies equally regardless of the particular type of signal-bearing media actually used to carry out the distribution. The term “computer readable media” as used herein is intended to include recordable-type media, such as, for example, a floppy disk, a hard disk drive, RAM, compact disk (CD) ROM, etc., and transmission-type media, such as digital and analog communication links, wired or wireless communication links using transmission forms, such as, for example, RF and optical transmissions, etc. The computer readable media may take the form of coded formats that are decoded for use in a particular data processing system.

Accordingly, an application program, or software components thereof, including instructions or code for performing the methodologies of the invention, as described herein, may be stored in one or more of the associated storage media (e.g., ROM, fixed or removable storage) and, when ready to be utilized, loaded in whole or in part (e.g., into RAM) and executed by the processor802. In any case, it is to be appreciated that at least some of the components of the invention, described herein and shown in the appended figures, maybe implemented in various forms of hardware, software, or combinations thereof, e.g., one or more operatively programmed general purpose digital computers with associated memory, implementation-specific integrated circuit(s), functional circuitry, etc. Given the teachings of the invention provided herein, one of ordinary skill in the art will be able to contemplate other implementations of the components of the invention.

As previously discussed herein, the access control methodology of the present invention advantageously allows a network manager to maintain full control on the accessability of the wireless network by the user. The access control methodology illustratively provides such access control at the access point level. Access control privileges may be distinguished according to user type, or alternative criteria, by assigning a profile corresponding to each user in the network. The profile is preferably decrypted by trusted access points and the server, such that invalid access points and/or profiles will not function properly in a network employing the access control scheme. Preferably, the access control methodology of the present invention may be employed with essentially any WLAN system. Furthermore, the present invention contemplates that the access control protocol may be extended to other wireless systems, such as, but not limited to, wireless cellular systems, or hybrid systems capable of supporting multiple wireless standards (e.g., 802.11, 3G Wireless, etc.).

Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made therein by one skilled in the art without departing from the scope of the appended claims. For example, the invention can be used with standards other than IEEE 802.11 (e.g., IEEE 802.15), as well as in non-standard applications.