Estimating a relative difference between signal strengths of wireless signals received by a device

Methods and systems are described for determining an optimal access point for a client device based on the relative difference between signal strengths of wireless signals received by the client device from access points. In particular, the signal strengths of wireless signals received by a client device from access points are determined without receipt of signal strength and/or transmit power information from the client device. Instead, the signal strength difference value may be determined based on known characteristics of signals transmitted by the access points and known characteristics of signals received by the access points from the client device. This relative difference value may thereafter be used to determine an appropriate access point to provide network access to the client device.

TECHNICAL FIELD

The present disclosure relates to determining the relative difference between signal strengths of wireless signals received by a client device from access points without receipt of signal strength and/or transmit power information from the client device. This relative difference value may thereafter be used to determine an appropriate access point to provide network access to the client device.

BACKGROUND

Over the last decade, there has been a substantial increase in the use and deployment of wireless client devices, from dual-mode smartphones to tablets capable of operating in accordance with a particular Institute of Electrical and Electronics Engineers (IEEE) standard. With “wireless” becoming the de-facto medium for connectivity among users, it has become increasingly important for network systems to intelligently manage connections.

For example, multiple access points may jointly serve a common area. Accordingly, a client device operating in this area may be able to associate with two or more of the access points such that the access points may provide network access to the client device. Although the client device may have many options with respect to access point association, to ensure efficient communications the network system must determine an optimal access point for the client device.

DETAILED DESCRIPTION

Herein, certain terminology is used to describe features for embodiments of the disclosure. For example, the term “digital device” generally refers to any hardware device that includes processing circuitry running at least one process adapted to control the flow of traffic into the device. Examples of digital devices include a computer, a tablet, a laptop, a desktop, a netbook, a server, a web server, an authentication server, an authentication-authorization-accounting (AAA) server, a Domain Name System (DNS) server, a Dynamic Host Configuration Protocol (DHCP) server, an Internet Protocol (IP) server, a Virtual Private Network (VPN) server, a network policy server, a mainframe, a television, a content receiver, a set-top box, a video gaming console, a television peripheral, a printer, a mobile handset, a smartphone, a personal digital assistant “PDA”, a wireless receiver and/or transmitter, an access point, a base station, a communication management device, a router, a switch, and/or a controller.

It is contemplated that a digital device may include hardware logic such as one or more of the following: (i) processing circuitry; (ii) one or more communication interfaces such as a radio (e.g., component that handles the wireless data transmission/reception) and/or a physical connector to support wired connectivity; and/or (iii) a non-transitory computer-readable storage medium (e.g., a programmable circuit; a semiconductor memory such as a volatile memory and/or random access memory “RAM,” or non-volatile memory such as read-only memory, power-backed RAM, flash memory, phase-change memory or the like; a hard disk drive; an optical disc drive; etc.) or any connector for receiving a portable memory device such as a Universal Serial Bus “USB” flash drive, portable hard disk drive, or the like.

Herein, the terms “logic” (or “logic unit”) are generally defined as hardware and/or software. For example, as hardware, logic may include a processor (e.g., a microcontroller, a microprocessor, a CPU core, a programmable gate array, an application specific integrated circuit, etc.), semiconductor memory, combinatorial logic, or the like. As software, logic may be one or more software modules, such as executable code in the form of an executable application, an application programming interface (API), a subroutine, a function, a procedure, an object method/implementation, an applet, a servlet, a routine, source code, object code, a shared library/dynamic load library, or one or more instructions. These software modules may be stored in any type of a suitable non-transitory storage medium, or transitory computer-readable transmission medium (e.g., electrical, optical, acoustical or other form of propagated signals such as carrier waves, infrared signals, or digital signals).

Network System

FIG. 1shows a block diagram example of a network system100in accordance with one or more embodiments. The network system100, as illustrated inFIG. 1, is a digital system that may include a plurality of digital devices such as one or more access points1011-101N(N>1), a client device103, and a network controller105. The client device103may be associated with one of the access points1011-101Nthrough a corresponding wireless connection such that the client device103is provided with network access (i.e., access to an internal network in which the access points1011-101Noperate and/or access to an external network via the access points1011-101N). Although the client device103may be associated with a single access point1011-101Nat a time, each of the access points1011-101Nmay be able to detect wireless signals transmitted from the client device103, and the client device103may be able to detect wireless signals transmitted by multiple access points1011-101N.

In one embodiment, one or more devices in the network system100may operate to determine the relative difference between signal strengths of wireless signals received by the client device103from two of the access points1011-101Nwithout receipt of signal strength and/or transmit power information from the client device103. This relative difference value may describe the view of the access points1011-101Nfrom the client device103and may thereafter be used to determine an appropriate access point1011-101Nto provide network access to the client device103. Each element of the network system100will be described below by way of example. In one or more embodiments, the network system100may include more or less devices than the devices illustrated inFIG. 1, which may be connected to other devices within the network system100via wired and/or wireless mediums. For example, in other embodiments, the network system100may include additional client devices103.

The access points1011-101Nmay be any device that can associate with the client device103to transmit and receive data over wireless channels and/or detect wireless signals transmitted by the client device103. In one embodiment, the access points1011-101Nmay correspond to a network device such as a wireless access point, a switch, a router, or any combination thereof.FIG. 2shows a component diagram of the access point1011according to one embodiment. In other embodiments, the access points1012-101Nmay include similar or identical components to those shown and described in relation to the access point1011.

As shown inFIG. 2, the access point1011may comprise one or more of: a hardware processor201, data storage203, an input/output (I/O) interface205, and device configuration logic207. Each of these components of the access point1011will be described in further detail below.

The data storage203of the access point1011may include a fast read-write memory for storing programs and data during operations and a hierarchy of persistent memory, such as Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM,) and/or Flash memory for example, for storing instructions and data needed for the startup and/or operation of the access point1011. In one embodiment, the data storage203is a distributed set of data storage components. The data storage203may store data that is to be transmitted from the access point1011or data that is received by the access point1011. For example, the access point1011may store data to be forwarded to the client device103or to one or more of the access points1012-101N. In another embodiment, the data storage203may store signal strength values for one or more wireless signals received from the client device103.

In one embodiment, the I/O interface205corresponds to one or more components used for communicating with other devices (e.g., the client device103, the controller105, other access points1012-101N, and/or other devices within the system100or devices external to the system100) via wired or wireless signals. The I/O interface205may include a wired network interface such as an IEEE 802.3 Ethernet interface and/or a wireless interface such as an IEEE 802.11 WiFi interface. The I/O interface205may communicate with the client device103, the controller105, and/or the access points1012-101Nover corresponding wireless channels in the system100.

In some embodiments, the I/O interface205may include one or more antennas209for communicating with the client device103, the controller105, the access points1012-101N, other wireless devices in the network system100, and/or other devices over an external network. For example, multiple antennas209may be used for forming transmission beams to one or more of the client device103and/or the access points1012-101Nthrough adjustment of gain and phase values for corresponding antenna209transmissions. The generated beams may avoid objects and create an unobstructed path to the client device103and/or the access points1012-1014. In some embodiments, the multiple antennas209may be used for performing multipath transmissions and receiving multiple transmissions from the client device103or another wireless network device.

In one embodiment, the I/O interface205in conjunction with the antennas209may detect wireless signals emitted by the client device103. In this embodiment, the client device103may not be directly associated with the access point1011such that the client device103and the access point1011maintain a data connection, but the access point1011is still able to detect the presence of the proximate/neighboring client device103, including signal strength characteristics for corresponding wireless signals. For example, inFIG. 1the dashed lines indicate that the client device103is visible to and/or in-range of the access points1012and101N, although the access points1012and101Nand the client device103may not share a data connection. Instead, the client device103is only associated and maintains a data connection with the access point1011(e.g., a data connection using one or more network protocols), as signified by the solid line. Accordingly, each of the access points1012and101Nmay detect nearby signals of the client device103even without an established data connection. Detection of these signals by the access points1011-101Nmay be used to determine strength characteristics as will be described in greater detail below.

In one embodiment, the hardware processor201is coupled to the data storage203and the I/O interface205. The hardware processor201may be any processing device including, but not limited to a MIPS/ARM-class processor, a microprocessor, a digital signal processor, an application specific integrated circuit, a microcontroller, a state machine, or any type of programmable logic array.

In one embodiment, the device configuration logic207includes one or more functional units implemented using firmware, hardware, software, or a combination thereof for configuring parameters associated with the access point1011. In one embodiment, the device configuration logic207may be configured to determine the relative difference between signal strengths of wireless signals received by the client device103without receipt of signal strength and/or transmit power information from the client device103. This relative difference value may thereafter be used to determine an appropriate access point1011-101Nto provide network access to the client device103.

As described above, the other access points1012-101Nmay be similarly configured as described above in relation to the access point1011. For example, access points1012-101Nmay comprise hardware processor201, data storage203, input/output (I/O) interface205, and device configuration logic207in a similar fashion as described above in relation to the access point1011.

In one embodiment, the controller105may be similarly configured as described above in relation to the access point1011. For example, the controller105may comprise hardware processor201, data storage203, input/output (I/O) interface205, and device configuration logic207in a similar fashion as described above in relation to the access point1011.

In one embodiment, the client device103may be any wireless electronic device(s) capable of receiving and/or transmitting data over wireless mediums. For example, the client device103may be one or more of a personal computer, a laptop computer, a netbook computer, a wireless music player, a portable communication device, a smart phone, a tablet computer, and a digital television. In one embodiment, the client device103is a digital device that includes a hardware processor, memory hierarchy, and input/output (I/O) interfaces including a wired and/or wireless interface such as an IEEE 802.11 interface. In one embodiment, the configuration of the components within the client device103may be similar to those discussed above in relation to the access point1011. For example, the client device103may comprise hardware processor201, data storage203, input/output (I/O) interface205, and device configuration logic207in a similar fashion as described above in relation to the access point1011.

Estimating the Relative Difference Between Signal Strength Values Received by the Client Device103from Multiple Access Points101

In some systems, client devices103may continually update their view of the access points1011-101N. For example, IEEE 802.11k provides a protocol for allowing client devices103to respond to beacon requests from access points1011-101N. The responses to beacon requests may include received signal strength values for signals received from access points1011-101Nand/or transmission powers for signals transmitted from the client devices103. However, some client devices103are not equipped/designed to transmit such information. Accordingly, while the upstream view from the client device103may be known based on information from the access points1011-101N, the downstream view from the client device103may be unknown when performing particular network operations. For example, matching the client device103to access points1011-101Nmay be performed without knowledge of the downstream view from the client devices103.

Turning now toFIG. 3, a method300for estimating the relative difference between signal strength values of corresponding wireless signals received by the client device103from multiple access points1011-101Naccording to one embodiment will be described. This difference values may provide an estimate of the downstream view from the client device103, which in turn may be used to select an optimal access point1011-101Nfor providing network access to the client device103. In one embodiment, each operation of the method300may be performed by one or more components of the access points1011-101N, the controller105, and/or another network component.

Although the operations of the method300are shown and described in a particular order, in other embodiments the operations may be performed in a different order. For example, in some embodiments, the operations of the method300may be performed concurrently and/or during overlapping time periods.

In one embodiment, the method300may begin at operation301with the transmission of a wireless signal W1by the access point1011to the client device103as shown inFIG. 4. The wireless signal W1transmitted at operation301may be part of a data communication between the access point1011and the client device103. For example, the client device103may be associated with the access point1011such that the client device103and the access point1011maintain a data connection, as noted by the solid line inFIG. 1. In this embodiment, the wireless signal W1from operation301may be based on a wireless transmission of data from the access point1011to the client device103(e.g., application data and/or control signals). However, in other embodiments, the wireless signal W1transmitted at operation301may be a general signal that is detected by the client device103, but does not necessarily transmit data or is associated with a data connection with the client device103. In this embodiment, the client device103may be in range of the access point1011such that the client device103is able to detect wireless signals produced/emitted by the access point1011(i.e., the wireless signal W1), but the access point1011and the client device103are not associated such that a data connection has been established.

Following, prior to, or concurrently with operation301, the access point1012may transmit a wireless signal W2to the client device103at operation303as shown inFIG. 4. Similar to operation301, the transmission by the access point1012at operation303may communicate data to the client device103(e.g., application data and/or control signals) when the access point1012and the client device103have established a data connection. However, in other embodiments, the access point1012may emit a wireless signal that is detected by the client device103without the establishment of a data connection. Accordingly, the client device103may be in range of the access point1012such that the client device103is able to detect wireless signals produced/emitted by the access point1012, but the access point1012and the client device103are not associated such that a data connection has been established.

Following the transmission of wireless signals W1and W2at operations301and303, respectively, operation305may determine the power levels T1and T2of each of the wireless signals W1and W2transmitted at operations301and303. For example, the signal W1from the access point1011may have been transmitted at 10 dBm (i.e., T1=10 dBm) while the signal W2from the access point1012may have been transmitted at 20 dBm (i.e., T2=10 dBm). In one embodiment, the power levels T1and T2may have been determined by the access points1011and1012and the access points1011and1012may upload their corresponding power levels T1and T2of the transmitted wireless signals W1and W2to the controller107or another repository. In this embodiment, operation305may retrieve the power level values T1and T2from the controller105or another centralized location at operation305.

At operation307, the client device103may transmit wireless signals W3and W4as shown inFIG. 4, which are detected by the access points1011and1012, respectively. While operations301and303dealt with transmissions from the access points1011and1012to the client device103, operation307deals with transmissions in the opposite direction (i.e., wireless signals W3and W4transmitted from the client device103and received by the access points1011and1012, respectively). The wireless signals W3and W4from operation307may be based on data transmissions over an established data connection between the client device103and the access points1011and/or1012or the wireless signals W3and W4received at operation307may not be made over an established data connection between the client device103and the access points1011and/or1012. For example, the access points1011and/or1012may be in range of the client device103such that the access points1011and/or1012may detect the corresponding wireless signals W3and W4generally transmitted by the client device103. In one embodiment, the wireless signals W3and W4received by each of the access points1011and1012at operation307may be from the same transmission from the client device103.

At operation309, the method300may determine received signal strength values R1and R2corresponding to the signals W3and W4received by the access points1011and1012, respectively, from the client device103at operation307. The received signal strength values R1and R2for these signals W3and W4may be measured by each of the access points1011and1012. For example, the received signal strength value R1may be 50 dB while the received signal strength value R2may be 47 dB. In one embodiment, the signal strength values R1and R2of the signals W3and W4received from the client device103may be Received Signal Strength Indicators (RSSIs).

In some embodiments, the received signal strength values R1and R2for each of the access points1011and1012may be any value computed based on one or more signals received by a receiving device (e.g., the access points1011and/or1012). For example, the signal W3transmitted by the client device103at operation307may be reflected or otherwise duplicated before reaching the access point1011. Each of these duplicated signals may be received by the access point1011with a corresponding separate signal strength. In another embodiment, multiple transmission antennas on the client device103may emit the signals W3and W4(e.g., multipath transmissions). These multiple transmission of each of the signals W3and W4may result in corresponding multiple signal strengths for each of the access points1011and1012. Operation309may determine the received signal strength values R1and R2based on one or more of these received signals. In one embodiment, statistical functions maybe used for computing the received signal strength values R1and R2. For example, an average, a maximum, and/or a minimum value for multiple wireless signals received by a single access point1011or1012from the client device103may be used to compute the received signal strength values R1and R2. Accordingly, even though operation309is described herein in relation to the signals W3and W4, it is understood that the values R1and R2may be computed based on multiple received signals. In some embodiments, signal strength values may be weighted based on known obstacles encountered by the signals.

In one embodiment, the access points1011and1012may periodically upload received signal strength values R1and R2, corresponding to transmissions from the client device103, to the controller105. In this embodiment, the controller105may hold a recorded copy of signal strength values R1and R2for each of the access points1011and1012. Accordingly, in one embodiment, at operation309the recorded values R1and R2may be accessed/retrieved from the controller105.

Following determination of power level values T1and T2at operation305and signal strength values R1and R2at operation309, operation311may estimate a difference between the signal strength S1, corresponding to the signal W1transmitted at operation301, and the signal strength S2, corresponding to the signal W2transmitted at operation303. Accordingly, operation311may estimate the value of S1-S2. In one embodiment, this estimation is based on the transmit power values T1and T2of the signals W1and W2transmitted at operations301and303, as determined at operation305, and the signal strength values R1and R2for the signals W3and W4transmitted from the client device103to the access points1011and1012, as determined at operation309. In this embodiment, operation311may estimate the difference between the signal strength values S1and S2based only on input from the access points1011and1012and/or the controller105. In particular, although the client device103may transmit signals W3and W4, which may be analyzed by the access points1011and1012or other network devices (e.g., the controller105), the client device103may not provide signal strength values (e.g., the values S1and S2corresponding to the received signals W1and W2) or the power level values (e.g., the power level Tc used to transmit the signals W3and W4). Accordingly, the difference between these values S1and S2, may be determined purely from strength and power levels known/determined by the access points1011and1012and/or the network controller105.

For example, the signal strength value S1for the signal W1may be calculated as the difference between the transmit power T1of the signal W1and the path loss P1between the access point1011and the client device103. As shown inFIG. 5, the path loss P1represents the power drop in signals transmitted between the access point1011and the client device103. The path loss P1may be a characterization of environmental factors that cause a transmitted signal to decrease in power while propagating from the transmission device to the receiving device. In one embodiment, the signal strength value S1may be represented by the equation below:
S1=T1−P1  Equation 1

Similarly, the signal strength value S2for the signal W2may be calculated as the difference between the transmit power T2of the signal W2and the path loss P2between the access point1012and the client device103. As shown inFIG. 5, the path loss P2represents the power drop in signals transmitted between the access point1012and the client device103as a result of environmental factors as described above. Accordingly, the signal strength value S2may be represented by the equation below:
S2=T2−P2  Equation 2

In one embodiment, the path loss upstream and downstream may be assumed to be symmetrical (i.e., symmetrical channel model upstream and downstream between each access point1011-101Nand the client device103). Based on the above equations, the difference between the signal strength values S1and S2may be represented as:
S1=S2=T1−T2+(P2−P1)  Equation 3

As noted above, the path loss values P1and P2in the above equations may be based on various factors, including objects between the access points1011and1012and the client device103. Although the power levels T1and T2are known based on the determination at operation305, the values P1and P2may be unknown. In particular, as described above, since operation311is operating without signal strength values (e.g., S1and S2) and/or power level values (e.g., Tc) from the client device103, path loss between the access points1011and1012and the client device103characterized by P1and P2, may be unknown.

To remove the unknown values P2and P1from the above difference equation, the relationship between the known signal strength values R1and R2and the path loss values P1and P2may be exploited. In particular, the signal strength value R1for the signal W3may be calculated as the difference between the transmit power Tc of the signal W3and the path loss P1between the access point1011and the client device103. Accordingly, the signal strength value R1may be represented by the equation below:
R1=Tc−P1  Equation 4

Similarly, the signal strength value R2for the signal W4may be calculated as the difference between the transmit power Tc of the signal W4and the path loss P2between the access point1012and the client device103. Accordingly, the signal strength value R2may be represented by the equation below:
R2=Tc−P2  Equation 5

As shown above, the transmit power of the client device103is assumed to be constant for all signals. Namely, both signals W3and W4are assumed to be transmitted at the power Tc by the client device103. Based on the above R1and R2equations, the difference between the signal strength values R1and R2may be represented as:
R1−R2=P2−P1  Equation 6

Since the power level for each of the signals W3and W4is assumed to be the same (i.e., W3and W4are both transmitted at the power level Tc), the value Tc is cancelled out during the computation of the difference between the signal strength values R1and R2.

Since the difference between R1and R2is equivalent to the difference between the P2and P1, P2-P1may be replaced with R1-R2in Equation 3 above. Based on this replacement, the difference between the signal strength values S1and S2may be represented as:
S1−S2=(T2−T2)+(R1−R1)  Equation 7

Since both the power level values T1and T2of the wireless signals W1and W2are known from operation305and the signal strength values R1and R2are known from operation309, Equation 7 may be used to determine the difference between the signal strength values S1and S2at operation311. For example, using the example values shown above in relation to the power level values T1and T2and the signal strength values R1and R2(i.e., T1=10 dBm, T2=20 dBm, R1=50 dB, and R2=47 dB), the difference between the signal strength values S1and S2may be calculated as:
S1−S2=(10 dBm−20 dBM)+(50 dB−47 dB)
S1−S2=−7 dB

This difference value S1-S2(e.g., −7 dB) represents the view of the access points1011and1012from the client device103. Using this difference value S1-S2, operation313may determine an optimal access point1011or1012for the client device103to associate with. In particular, although the specific signal strength values S1and S2may not be individually known, their relationship may be characterized by their difference. For example, when the difference value S1-S2is greater than zero, this may indicate that the signal strength value S1is greater than the signal strength value S2. In this case, the access point1011associated with the signal strength value S1may be a more appropriate device, in comparison to the access point1012, to provide network access to the client device103since the signal strength S1provided by the access point1011is estimated to be greater than the signal strength S2provided by the access point1012. Accordingly, operation313may select access point1011for the client device103to associate.

Conversely, when the difference value S1-S2is less than zero, this may indicate that the signal strength value S2is greater than the signal strength value S1. In this case, the access point1012associated with the signal strength value S2may be a more appropriate device, in comparison to the access point1012, to provide network access to the client device103since the signal strength S2provided by the access point1012is estimated to be greater than the signal strength S1provided by the access point1011. Accordingly, operation313may select access point1012for the client device103to associate.

As described above, the value of S1-S2may be used as a factor in determining an access point1011-101Nfor the client device103to associate. In traditional network systems in which a client device103did not provide power level and/or signal strength values, the decision of access point1011-101Nassociation for the client device103was made based on the difference between R1and R2(i.e., the difference between the signal strength values R1and R2corresponding to the wireless signals W1and W2transmitted from the client device103).FIG. 6shows a graph of 1) actual signal strength difference values S1-S2as measured in testing, 2) estimated signal strength difference values S1-S2as computed by the method300described above, and 3) the actual signal strength values R1-R2used by traditional systems. In this graph ofFIG. 6, the power levels T1and T2for two corresponding access points101may be 21 dBm and 9 dBm, respectively. As shown, the estimated signal strength difference values S1-S2as computed by the method300(i.e., “New Estimated Client Device View”) are tightly related to the actual signal strength difference values S1-S2as tested in comparison to the actual signal strength difference values R1-R2(i.e., “Old Estimated Client Device View”). In particular, the estimated signal strength difference values S1-S2consistently provide values closer to the actual signal strength values S1-S2in comparison to the actual signal strength difference values R1-R2, which traditional systems assume are equivalent to S1-S2. As shown inFIG. 6, the estimated value S1-S2is often on the same side of the center axis in relation to the actual value S1-S2(e.g., above or below zero). As noted above, by knowing when the value S1-S2is negative or positive may provide a strong indication of what access point1011or1012is best suited for the client device103. Accordingly, by using the estimated signal strength difference value S1-S2, which is computed using transmission powers T1and T2of the access points1011and1012, the method300may make client device103association decisions that more accurately reflect the downstream client device103view in comparison to traditional systems that utilize the signal strength difference value R1-R2.

Although described as operation313determining an optimal access point association based solely on the estimated signal strength difference value S1-S2, in other embodiments other factors may be also used by operation313. For example, load on each of the access points1011and1012, the number of client devices103associated with the access points1011and1012, and/or the signal strength difference value R1-R2may also be used for determining an optimal access point101association. Each of these factors may be used in conjunction with the signal strength difference value S1-S2to determine an optimal access point101for the client device103. In this fashion, the association decision for the client device103may incorporate upstream and downstream views relative to the client device103.

As noted above, the client device103may already be associated with an access point1011-101Nat the commencement of the method300. For example, the client device103may be associated with the access point1011. In this embodiment, the method300may be performed for each pair of the access point1011and one of the access points1012-101N. In this embodiment, each of the corresponding difference values S1-S2estimated for each pair of the access point1011and the access points1012-101Nmay be compared to determine if there is a more optimal access point1012-101Nfor the client device103. For example, when the signal strength value S1corresponds to the access point1011and the signal strength values S22-S2Ncorrespond to the access points1012-101N, respectively, when each of the values S1-S22; S1-S23; . . . S1-S1Nis greater than or equal to zero, operation313may determine that no access point101change is needed. However, when one or more of the values S1-S22; S1-S23; . . . S1-S1Nis less than zero, the access point1012-101Ncorresponding to the lowest value may be selected by operation313for the client device103.

In one embodiment, a threshold value may be used to determine whether a change of access point101should be made. In this embodiment, when one or more of the values S1-S22; S1-S23; . . . S1-S1Nis less than zero, but the value fails to fall below the threshold, then the client device103does not change from the access point1011. In this embodiment, the threshold ensures that changes are not made for relatively small improvements in performance. Namely, the overhead involved in changing access point101association for the client device103may outweigh any performance gain for the client device103based on moving from the access point1011to one of the access points1012-101N. Accordingly, this threshold value may ensure that changes are only performed when significant improvements are expected as a result.

As described above, the client device103may be associated with one of the access points1011-101Nat commencement of the method300. However, in other embodiments, the client device103may not be associated with an access point1011-101Nat commencement of the method300. In this embodiment, the method300may be performed for every permutation of the access points1011-101Nto determine an optimal access point1011-101Nfor association with the client device103.

In one embodiment, operation315may store one or more of the determined signal strength difference values computed at operation311along with a determined location of the client device103. The combination of these pieces of information may be a vector that provides a signature for a location within a physical area. For example, the location of the client device103may be determined based on satellite positioning data (e.g., Global Positioning System (GPS) data), signal strength triangulation data, and/or any other technique for determining the location of the client device103. This set of difference values computed at operation311and location data may be stored and thereafter used by the client device103and/or another network device. In particular, upon another network device determining that they are at a particular location, this location may be used to look up one or more previously stored signal strength difference values. These difference values may be used for determining an optimal access point1011-101Nfor the network device. Similarly, upon determining a signal strength difference value, a location of the network device may be determined based on a lookup using the previously stored locations and signal strength values.

As described above, the method300provides an estimate of the downstream view from the client device103, which in turn may be used to select an optimal access point1011-101Nfor providing network access to the client device103. In contrast to traditional systems in which a downstream view from the client device103is sought to be estimated, the estimated view is generated 1) without signal strength data from the client device103; 2) without environmental factors/path loss knowledge (i.e., P1and P2) and independent to variances with environment/path loss; and 3) without knowledge of transmission powers of signals from the client device103(i.e., Tc).

An embodiment of the invention may be an article of manufacture in which a machine-readable medium (such as microelectronic memory) has stored thereon instructions which program one or more data processing components (generically referred to here as a “processor”) to perform the operations described above. In other embodiments, some of these operations might be performed by specific hardware components that contain hardwired logic (e.g., dedicated digital filter blocks and state machines). Those operations might alternatively be performed by any combination of programmed data processing components and fixed hardwired circuit components. Also, although the discussion focuses on uplink medium control with respect to frame aggregation, it is contemplated that control of other types of messages are applicable.