Distributed channel selection for wireless networks

Information

  • Patent Grant
  • 9814055
  • Patent Number
    9,814,055
  • Date Filed
    Thursday, March 19, 2015
    9 years ago
  • Date Issued
    Tuesday, November 7, 2017
    7 years ago
Abstract
Wireless networking devices scan for available channels and gather data about the channels and the RF environment. Using this information, each wireless networking device determines a cost value for each available channel and a quality value for its overall RF neighborhood. Each wireless networking device select the channel with the best cost value as a candidate channel for use. The wireless networking devices may submit channel requests to the arbiter for approval. If two or more wireless networking devices are requesting the same channel, the arbiter assigns the channel to the wireless networking device with the worst RF neighborhood quality. The arbiter informs the wireless networking devices if their channel requests are approved. If a wireless networking device's channel request is not approved, the wireless networking device will rescan the remaining available channels to select a different candidate channel to be approved.
Description
BACKGROUND
Background of the Invention

The invention relates to the field of wireless networking devices and specifically to systems and methods of configuring wireless networking devices to operate in close proximity to each other. Many organizations provide wireless networks to their users and/or the general public. Often, multiple wireless networking devices, such as wireless access points, are required to provide effective wireless network access to users over large physical area. For example, there may be large numbers of wireless access points operating together to provide wireless network access within one or more buildings, a campus, or even neighborhoods and cities.


Typically, wireless networking devices such as wireless access points communicate using one or more RF channels. As the physical density of wireless access points increases, interference between multiple wireless networking devices using the same or overlapping channels becomes more likely. As a result of channel interference from both other wireless network devices as well as other sources of radio interference, the network performance for users decreases.


One way to mitigate channel interference is to assign neighboring wireless networking devices to different or non-overlapping channels. Prior approaches have typically operated in a centralized manner or a distributed manner. Centralized approaches gather data from most or all of the wireless networking devices and use this complete view of the wireless network to determine a satisfactory assignment of channels to the wireless networking devices. The downsides of this approach are the need for a central entity to collect data from all of the networking devices, process network data, and determine channel assignments.


Distributed approaches to channel assignment rely on wireless networking devices to select an optimal channel for itself or to negotiate channel assignments between themselves. However, the former approach results in a sub-optimal channel assignment over the entire network and the latter approach requires the exchange of numerous messages between wireless networking devices. Additionally, this approach may take a long time to converge to a stable channel assignment. Furthermore, small changes in the RF environment may lead to a ripple effect, causing channel assignment changes across the entire wireless network.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the drawings, in which:



FIG. 1 illustrates an example wireless network channel assignment;



FIG. 2 illustrates a method of assigning channels to wireless networking devices according to an embodiment of the invention; and



FIG. 3 illustrates a computer system suitable for implementing all or a portion of embodiments of the invention.





BRIEF SUMMARY OF THE INVENTION

An embodiment of the invention assigns channels to wireless networking devices using a distributed technique that requires very little data to be exchanged between wireless networking devices. Additionally, an embodiment of the invention converges quickly to a stable channel assignment. In an embodiment, wireless networking devices scan for available channels and gather data about the channels and the RF environment. Using this information, each wireless networking device determines a cost value for each available channel and a quality value for its overall RF neighborhood. In an embodiment, each wireless networking device select the channel with the best cost value as a candidate channel for use. An arbiter is then used to resolve conflicts between wireless networking devices that have selected the same candidate channels.


If there is a device acting as arbiter, the wireless networking devices submit channel requests to the arbiter for approval. If two or more wireless networking devices are requesting the same channel at approximately the same time, in an embodiment of the invention, the arbiter assigns the channel to the wireless networking device with the worst RF neighborhood quality. The arbiter informs the wireless networking devices if their channel requests are approved. If a wireless networking device's channel request is not approved, the wireless networking device will rescan the remaining available channels to select a different candidate channel to be approved.


In an embodiment, if there is no arbiter device, a wireless networking device will listen for other networking devices using its desired candidate channel. If there are other networking devices using the same desired candidate channel, in an embodiment of the invention, the conflicting wireless networking devices exchange RF neighborhood quality information. Using this information, the wireless networking devices will yield the channel to the wireless networking device with the worst RF neighborhood quality.


DETAILED DESCRIPTION


FIG. 1 illustrates an example of a wireless network 100 and its channel assignments. Wireless network 100 is comprised of multiple wireless access points and/or other wireless networking device 105 capable of providing wireless network connections to client devices, such as desktop, portable, and server computer systems; tablet computer systems; smartphones or other handheld devices; and/or other devices capable of using wireless network connections to communicate.


Example wireless network 100 includes wireless access points 105A, 105B, 105C, 105D, 105E, 105F, 105G, 105H, 105I, 105J, 105K, 105L, 105M, 105N, 105O, 105P, and 105Q. However, embodiments of the invention may be utilized in wireless networks including any arbitrary number of wireless access points and/or other wireless networking devices 105. In example wireless network 100, the wireless access points 105 may use any wireless networking technology and protocol known in the art, including one or more of the IEEE 802.11 family of wireless networking standards, Zigbee and the 802.15.4 wireless networking standard, Femtocell cellular networking using CDMA, GSM, WiMAX, LTE, and/or other cellular networking standards.


Although omitted from FIG. 1 for clarity, the wireless networking devices 105 may be connected with one or more local-area networks or wide-area networks via wired or wireless network connections. The local-area network and/or wide-area network may include network devices such as network hubs, network switches, network routers, multi-function network gateways, and software and/or hardware firewalls. In an embodiment, wireless network 100 may also include one or more wireless access point managers that control the configuration of the wireless access points 105. Wireless access point manager may facilitate the deployment of network policies, software and firmware upgrades, and configurations to wireless access points 105 and may monitor network usage by client devices via the wireless access points.


Example wireless network 100 includes three different wireless channels. Each channel is indicated by different shading in FIG. 1. As shown in FIG. 1, channels are assigned to wireless access points 105 to maximize the distance between different wireless access points using the same channel and thus minimize radio interference. Although example wireless network 100 uses three different wireless channels, embodiments of the invention may use any arbitrary number of channels, depending upon factors including as the total number of channels available in the wireless networking technology, channels in use by other devices outside of the control of the wireless network, and environmental RF interference with one or more of the available channels. For example, the IEEE 802.11 big standards has a total of 14 available channels; however only 11 of these channels are typically available in the United States. Additionally, the adjacent channels of these standards overlap, so that often there are only 3 or 4 non-overlapping channels available.


As discussed above, an embodiment of the invention uses a distributed technique for determining channel assignments in wireless networks with multiple wireless access points or other wireless networking devices. FIG. 2 illustrates a method 200 of assigning channels to wireless networking devices according to an embodiment of the invention. In embodiments of the invention, wireless networking devices such as a wireless access points each perform separate instances of method 200 independently of each other during their respective initializations.


In step 205, a wireless networking device scans all of the available wireless networking channels to identify any neighboring wireless access points and gather data about each wireless networking channel. Embodiments of the invention may scan available channels sequentially or randomly. In an embodiment, step 205 determines whether each channel is in use, and if so, the number of detected wireless access points using a given channel. An embodiment of step 205 may also measure quantitative attributes of each channel, including the user load, RF interference, transmission, reception, and/or total channel utilization; the noise floor; the PHY error rate; the TX or RX frame drop rate; the TX/RX bit rate usage and/or success distribution; the CRC error rate for each channel; and/or, if the channel is used by any detected neighboring wireless access points, the received signal strength indication (RSSI) or signal to noise ratio for each neighboring wireless access point using a given channel. An embodiment of step 205 may further determine qualitative attributes of each channel, including whether the channel overlaps with any other channel in use, whether the channel uses dynamic frequency selection (DFS), and/or whether the channel is being used indoors or outdoors.


Step 210 determines the quality of the RF neighborhood of the wireless networking device based on the data gathered in step 205. In an embodiment, the RF neighborhood quality is based on the average received signal strength of neighboring wireless networking devices. This may be determined by averaging the RSSI data for each channel, and then determining the average of this value over all of the available channels. Another embodiment of step 210 may use the lowest RSSI value of all the neighboring networking devices as a measure of RF neighborhood quality. Alternative embodiments of step 210 may incorporate other factors described above, such as RF interference or the number of neighboring wireless access points. In general, more neighboring wireless networking devices and/or stronger signals from neighboring wireless networking devices or other RF sources reduce the quality of the RF neighborhood.


Step 215 determines cost values for each of the available channels based on the data gathered in step 205. In an embodiment, step 215 determines the cost values using a cost function that takes into account some or all of the above-described. Embodiments of the invention may use any type of cost function known in the art to determine one or more cost values for each available channel. In an embodiment, the cost function of step 215 assigns an initial cost value to an available channel and then adds or subtracts from this initial cost value based on one or more of the above described factors. In another embodiment, step 215 determines a weighted sum of two or more of the above described factors. In still another embodiment, step 215 determines cost values based on the application of one or more Boolean operations on a parameter vector, where the parameter vector is based on the data gathered in step 205.


In still a further embodiment, the cost function of step 215 uses values derived from the measured or determined values of the above described factors, as opposed to the measured values themselves. For example, an embodiment of step 215 may assign each factor a positive or negative score or point value based on its measured value. Different score or point values may be assigned based on whether the measured value of the factor falls within a particular range of values or above or below one or more threshold values. For example, if a channel utilization of a channel is less than 10%, it may be assigned a point value of zero within the cost function. If the channel utilization of this channel is between 10% and 20%, this factor may be assigned a point value of +10 in the cost function.


An example cost function may be:







Cost
=


(


1000
N

-

P
i


)

+

C
adj

+

C
overlap

+

C
power



,





where N is the number of wireless access points or other wireless detected networking devices using the channel, C_adj is an addition or deduction of points based on a measurement of interference from neighboring wireless networking devices, C_overlap is an addition or deduction of points based on whether the channel overlaps with any other channel in use, and C_power is an addition or deduction of points based on whether there is a maximum power limit for the channel, for example due to FCC or other regulatory requirements.


Step 220 selects the channel with the best cost value as a candidate channel for use by this wireless networking device. Depending on the specific form of the cost function, the best cost value may either be the lowest cost value or the highest cost value.


Step 225 determines if there is at least one networking device designated as a arbiter that is accessible to the wireless networking device. In an embodiment, one or more of the wireless access points may be designated as an arbiter. A networking device acting as an arbiter is used to reduce or prevent channel conflicts from wireless networking devices using the same channels. In an embodiment, a networking device is manually selected as an arbiter by a network administrator. In another embodiment, a networking device is automatically assigned to act as an arbiter by the wireless networking devices within each other's RF coverage area. In yet another embodiment, a networking device is automatically assigned to act as an arbiter by the wireless networking devices that share the same backhaul network connection, such as an Ethernet network or switching network. In general, the wireless networking devices within each others RF range should use the same arbiter. For example, one networking device in a building may be designated as an arbiter.


If there is no networking device designated as an arbiter, method 200 proceeds to step 230. In step 230, the wireless networking device enters a listening mode and determines if there are any other warless networking devices using the selected candidate channel. If there are no other wireless networking devices using the candidate channel, method 200 proceeds to step 240 and selects the candidate channel for use by the wireless networking device.


Conversely, if step 230 determines that one or more other wireless networking devices are using the selected candidate channel, method 200 proceeds to step 235. In step 235, the wireless networking device exchanges messages with one or more other wireless networking devices using the selected candidate channel to determine which of these devices has the lowest quality RF neighborhood, based on the RF neighborhood quality measurement determined in step 210. If step 235 determines that the wireless networking device has the lowest RF neighborhood quality as compared with its neighboring wireless networking devices on the same channel, then method 200 proceeds to step 240 and the wireless network device is allowed to use the selected candidate channel. All of the other neighboring wireless networking devices will yield this selected candidate channel to the wireless networking device, since they have received messages from the wireless networking device indicating that this wireless networking device has a lower RF neighborhood quality. In the event of a tie between two or more wireless networking devices with the same RF neighborhood quality, the channel may be assigned to one of the tied wireless networking devices based on arbitrary criteria or attributes, such as the MAC addresses of the wireless networking devices.


If step 235 determines that the wireless networking device does not have the lowest RF neighborhood quality, method 200 proceeds back to step 205 to rescan for available channels. In an embodiment, the wireless networking device maintains a list of channels assigned to other wireless networking devices in previous iterations of method 200, so that these channels can be skipped during rescanning. This decreases the amount of time required for rescanning and hence decreases the convergence time to assign channels to all of the wireless networking devices. The wireless networking device may repeat steps 205 through 255 any arbitrary number of times until it finds a channel to use.


Returning to step 225, if the wireless networking device detects at least one networking device acting as an arbiter, method 200 proceeds to step 245. Step 245 sends a channel request message to the arbiter. In an embodiment, the channel request message identifies the selected candidate channel. In a further embodiment, the channel request message includes additional data such as the neighborhood quality measurement and/or the wireless network devices cost value for the selected candidate channel.


In an embodiment, the networking device acting as the arbiter receives channel request messages from one or more wireless networking devices requesting a given channel, and decides which of these wireless networking devices should be assigned to requested channel. In an embodiment, the arbiter compares the RF neighborhood quality measurements received with each channel request message associated with a given channel and grants the requested channel to the wireless networking device with the lowest quality RF neighborhood. In another embodiment, the arbiter compares the channel cost values of a given candidate channel from each wireless networking device requesting this channel and grants the requested candidate channel to the wireless networking device with the highest channel cost value.


In the event of a tie between two or more wireless networking devices, the arbiter may arbitrarily assign the channel to one of the tied networking devices. In other embodiments, the arbiter may use each wireless networking device's cost value associated with the requested channel to determine the channel assignment. In a further embodiment, because the wireless networking devices perform separate instances of method 200 in parallel but asynchronously, an arbiter may wait for a time period, such as 15 seconds, after receiving the first request for any given channel to allow time for other wireless networking devices to request. The arbiter then assigns the requested channel to one of the wireless networking devices that sent a request during this time period, such as the wireless networking device with the worst RF neighborhood quality.


In response to one or more channel request messages, the arbiter assigns the requested channel to one of the requesting wireless networking devices. The arbiter then sends a channel approval message to the wireless networking device assigned to the requested channel and optionally sends channel denied messages to the other wireless networking devices that had requested this channel at approximately the same time.


In step 250, the wireless networking device determines if it has received a channel approval message from the arbiter for the selected candidate channel. If so, then method 200 proceeds to step 255, which selects the candidate channel for use by the wireless networking device.


Conversely, if the wireless networking device determines in step 250 that it has received a channel denied message or no response message at all from the arbiter, then method 200 proceeds back to step 205 to rescan for available channels and select a different candidate channel. The wireless networking device may repeat steps 205 through 255 any arbitrary number of times until it finds a channel to use.


In some situations, the RF environment and channel utilization associated with the wireless network may change due to the introduction of interference. In an embodiment, each wireless networking device monitors the RF environment associated with the channel it is using. If one or more parameters of the RF environment change substantially, the wireless networking device may drop its current channel and repeat method 200 to select a different channel. For example, if the interference utilization and/or the CRC error rate of a channel increase above absolute or relative thresholds, the wireless networking device drops its current channel and repeats method 200 to select a different channel.


In a further embodiment, the channel assignment process for all of the wireless networking devices in the wireless network may be repeated at regular intervals, such as during scheduled downtime. This allows the channel assignments to be determined from a clean initial state based on the current network configuration and RF environment. Often scheduled downtime may be during off-hours, such as late at night, so that users are not disrupted. However, the RF environment during off-hours may not be the same as that during normal operating hours. To produce channel assignments that more accurately reflect the RF environment during normal operating hours, yet a further embodiment of the invention records RF environment information during normal operating hours. During scheduled downtime, this embodiment of the invention performs method 200 as described above, but using the previously recorded RF environment information, rather than information about the current off-hour RF environment.


As discussed above, the wireless networking devices 105 in FIG. 1 may be connected with one or more local-area networks or wide-area networks via wired or wireless network connections. The wired or wireless network connections between the wireless networking devices and the one or more local-area networks or wide-area networks are referred to as backhaul network connections. If the backhaul network connection of one or more wireless networking devices 105 is a wireless network connection, an embodiment of the invention may use a modified version of method 200 to select the channel for the backhaul network connection. In this embodiment of method 200, step 205 scans the available channels to identify if there is an existing mesh channel as well as to determine the neighboring wireless networking devices and channel data. Steps 210 through 220 are performed as described above. If a mesh channel is found, then the wireless networking device joins the mesh channel. If there is no current mesh channel, then the wireless networking device selects the channel with the best cost value as the mesh channel.


In an further embodiment the cost function used to select a candidate channel may be specified via a management interface. Additionally, the management interface may be used to display statistics about the wireless network and the wireless networking devices, such as the values of cost function and/or the factors contributing to the cost function.



FIG. 3 illustrates a computer system 2000 suitable for implementing all or a portion of embodiments of the invention. FIG. 3 is a block diagram of a computer system 2000, such as a personal computer or other digital device, suitable for practicing an embodiment of the invention. Embodiments of computer system 2000 include dedicated networking devices, such as wireless access points, network switches, hubs, routers, hardware firewalls, network traffic optimizers and accelerators, network attached storage devices, and combinations thereof


Computer system 2000 includes a central processing unit (CPU) 2005 for running software applications and optionally an operating system. CPU 2005 may be comprised of one or more processing cores. Memory 2010 stores applications and data for use by the CPU 2005. Examples of memory 2010 include dynamic and static random access memory. Storage 2015 provides non-volatile storage for applications and data and may include fixed or removable hard disk drives, flash memory devices, ROM memory, and CD-ROM, DVD-ROM, Blu-ray, HD-DVD, or other magnetic, optical, or solid state storage devices. Memory 2010 may store a firmware image comprising applications and data adapted to be executed by computer system 2000.


Optional user input devices 2020 communicate user inputs from one or more users to the computer system 2000, examples of which may include keyboards, mice, joysticks, digitizer tablets, touch pads, touch screens, still or video cameras, and/or microphones. In an embodiment, user input devices may be omitted and computer system 2000 may present a user interface to a user over a network, for example using a web page or network management protocol and network management software applications.


Computer system 2000 includes one or more network interfaces 2025 that allow computer system 2000 to communicate with other computer systems via an electronic communications network, and may include wired or wireless communication over local area networks and wide area networks such as the Internet. Computer system 2000 may support a variety of networking protocols at one or more levels of abstraction. For example, computer system may support networking protocols at one or more layers of the seven layer OSI network model. An embodiment of network interface 2025 includes one or more wireless network interfaces adapted to communicate with wireless clients and with other wireless networking devices using radio waves, for example using the 802.11 family of protocols, such as 802.11a, 802.11b, 802.11g, and 802.11n.


An embodiment of the computer system 2000 may also include a wired networking interface, such as one or more Ethernet connections to communicate with other networking devices via local or wide-area networks. In a further embodiment, computer system 2000 may be capable of receiving some or all of its required electrical power via the network interface 2025, for example using a wired networking interface power over Ethernet system.


The components of computer system 2000, including CPU 2005, memory 2010, data storage 2015, user input devices 2020, and network interface 2025 are connected via one or more data buses 2060. Additionally, some or all of the components of computer system 2000, including CPU 2005, memory 2010, data storage 2015, user input devices 2020, and network interface 2025 may be integrated together into one or more integrated circuits or integrated circuit packages. Furthermore, some or all of the components of computer system 2000 may be implemented as application specific integrated circuits (ASICS) and/or programmable logic.


A power supply 2030 provides electrical power to the computer system 2000. Power supply 2030 may be adapted to draw electrical power from a connection with an electrical power distribution grid. In an embodiment, power supply 2030 is connected with network interface 2025 to draw electrical power for computer system 2000 from one or more wired network connections using a network power standard, such as IEEE 802.3af.


Although embodiments of the invention are discussed with reference to the IEEE 802.11 standard, embodiments of the invention are equally applicable to other standard and proprietary wireless network protocols. Additionally, embodiments of the invention are not limited to 802.11 wireless network connections and may be utilized for any type of communication network where a network connection between a client wireless network device and a wireless network device is required.


Further embodiments can be envisioned to one of ordinary skill in the art from the specification and figures. In other embodiments, combinations or sub-combinations of the above disclosed invention can be advantageously made. The block diagrams of the architecture and flow charts are grouped for ease of understanding. However it should be understood that combinations of blocks, additions of new blocks, re-arrangement of blocks, and the like are contemplated in alternative embodiments of the present invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.

Claims
  • 1. A method comprising: identifying, by a wireless networking device, channel data of available wireless network channels;identifying, by the wireless networking device, neighboring wireless networking devices;determining neighborhood qualities of the neighboring wireless networking devices;determining cost values for the available wireless network channels based on a cost function of at least one attribute of the available wireless network channels from the channel data;selecting a candidate wireless network channel of the available wireless network channels based on the cost values for the available wireless network channels;determining, by the wireless networking device, if at least one of the neighboring wireless networking devices is acting as an arbiter network device;if it is determined that at least one of the neighboring wireless networking devices is acting as the arbiter networking device: sending a channel request to use the candidate wireless network channel to the arbiter networking device;using the candidate wireless network channel to transmit data if channel approval is received from the arbiter networking device,if it is determined that all of the neighboring wireless networking devices are failing to act as the arbiter networking device, determining whether to use the candidate wireless network channel based on the determined neighborhood qualities of the neighboring wireless networking devices.
  • 2. The method of claim 1, wherein if it is determined that none of the neighboring wireless networking devices is acting as the arbiter networking device, the method further comprises: indicating whether one or more neighboring wireless networking devices are using the candidate wireless network channel;determining whether to use the candidate wireless network channel based on the indication whether the one or more neighboring wireless networking devices are using the candidate wireless network channel.
  • 3. The method of claim 2, wherein if it is determined that no neighboring wireless networking devices are using the candidate wireless network channel, then determining to use the candidate wireless network channel.
  • 4. The method of claim 2, further comprising: comparing an RF quality of the wireless networking device with an RF neighborhood quality of the one or more neighboring wireless networking devices using the candidate wireless network channel;determining to use the candidate wireless network channel based on the comparison of the RF quality of the wireless networking device with the RF neighborhood quality of the one or more neighboring wireless networking devices using the candidate wireless network channel.
  • 5. The method of claim 1, wherein the channel data includes one or a combination of user load of a wireless network channel, RF interference, transmission utilization, reception utilization, total channel utilization, a noise floor, a PHY error rate, a transmission frame drop rate, a reception frame drop rate, transmission bit rate usage, reception bit rate usage, CRC error rate for the candidate wireless network channel, neighboring wireless access points using the candidate wireless network channel, and the received signal strength indication (RSSI) for the neighboring wireless access points using the candidate wireless network channel.
  • 6. The method of claim 1, wherein the neighborhood qualities of the neighboring wireless networking devices are determined based on an average RSSI of the neighboring wireless networking devices.
  • 7. The method of claim 6, wherein the average RSSI of the neighboring wireless networking devices is determined by averaging the RSSI of the neighboring wireless networking devices across a plurality of wireless network channels used by the neighboring wireless networking devices.
  • 8. The method of claim 1, wherein the neighborhood qualities of the neighboring wireless networking devices are determined based on a lowest RSSI of the neighboring wireless networking devices.
  • 9. The method of claim 1, wherein the cost function includes assigning an initial cost value to the available wireless network channels and adding or subtracting from the initial cost value based on the at least one attribute of the available wireless network channels.
  • 10. The method of claim 1, wherein the cost value is a weighted sum of attributes of the available wireless network channels.
  • 11. A system comprising: neighboring wireless networking devices;a wireless networking device configured to: identify channel data of available wireless network channels;identify the neighboring wireless networking devices;determine neighborhood qualities of the neighboring wireless networking devices;determine cost values for the available wireless network channels based on a cost function of at least one attribute of the available wireless network channels from the channel data;select a candidate wireless network channel of the available wireless network channels based on the cost values for the available wireless network channels;determine if at least one of the neighboring wireless networking devices is acting as an arbiter network device;send a channel request to use the candidate wireless network channel to the arbiter networking device, if it is determined that at least one of the neighboring wireless networking devices is acting as the arbiter networking device;use the candidate wireless network channel to transmit data if channel approval is received from the arbiter networking device;determine whether to use the candidate wireless network channel based on the determined neighborhood qualities of the neighboring wireless networking devices, if it is determined that all of the neighboring wireless networking devices are failing to act as the arbiter networking device.
  • 12. The system of claim 11, wherein if it is determined that none of the neighboring wireless networking devices is acting as the arbiter networking device, the wireless networking device is further configured to: indicate whether one or more neighboring wireless networking devices are using the candidate wireless network channel;determine whether to use the candidate wireless network channel based on the indication whether the one or more neighboring wireless networking devices are using the candidate wireless network channel.
  • 13. The system of claim 12, wherein if it is determined that no neighboring wireless networking devices are using the candidate wireless network channel, the wireless networking device is further configured to determine to use the candidate wireless network channel.
  • 14. The system of claim 12, wherein the wireless networking device is further configured to: compare an RF quality of the wireless networking device with an RF neighborhood quality of the one or more neighboring wireless networking devices using the candidate wireless network channel;determine to use the candidate wireless network channel based on the comparison of the RF quality of the wireless networking device with the RF neighborhood quality of the one or more neighboring wireless networking devices using the candidate wireless network channel.
  • 15. The system of claim 11, wherein the channel data includes one or a combination of user load of a wireless network channel, RF interference, transmission utilization, reception utilization, total channel utilization, a noise floor, a PHY error rate, a transmission frame drop rate, a reception frame drop rate, transmission bit rate usage, reception bit rate usage, CRC error rate for the candidate wireless network channel, neighboring wireless access points using the candidate wireless network channel, and the received signal strength indication (RSSI) for the neighboring wireless access points using the candidate wireless network channel.
  • 16. The system of claim 11, wherein the wireless networking device is further configured to determine the neighborhood qualities of the neighboring wireless networking devices based on an average RSSI of the neighboring wireless networking devices.
  • 17. The system of claim 16, wherein the wireless networking device is further configured to determine the average RSSI of the neighboring wireless networking devices by averaging the RSSI of the neighboring wireless networking devices across a plurality of wireless network channels used by the neighboring wireless networking devices.
  • 18. The system of claim 11, wherein the wireless networking device is further configured to determine the neighborhood qualities of the neighboring wireless networking devices based on a lowest RSSI of the neighboring wireless networking devices.
  • 19. The system of claim 11, wherein the cost function includes assigning an initial cost value to the available wireless network channels and adding or subtracting from the initial cost value based on the at least one attribute of the available wireless network channels.
  • 20. A system comprising: means for identifying channel data of available wireless network channels;means for identifying neighboring wireless networking devices;means for determining neighborhood qualities of the neighboring wireless networking devices;means for determining cost values for the available wireless network channels based on a cost function of at least one attribute of the available wireless network channels from the channel data;means for selecting a candidate wireless network channel of the available wireless network channels based on the cost values for the available wireless network channels;means for determining if at least one of the neighboring wireless networking devices is acting as an arbiter network device;means for sending a channel request to use the candidate wireless network channel to the arbiter networking device, if it is determined that at least one of the neighboring wireless networking devices is acting as the arbiter networking device;means for using the candidate wireless network channel to transmit data if channel approval is received from the arbiter networking device;means for determining whether to use the candidate wireless network channel based on the determined neighborhood qualities of the neighboring wireless networking devices, if it is determined that all of the neighboring wireless networking devices are failing to act as the arbiter networking device.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/877,048, filed Sep. 7, 2010, entitled “DISTRIBUTED CHANNEL SELECTION FOR WIRELESS NETWORKS,” which is incorporated herein by reference.

US Referenced Citations (236)
Number Name Date Kind
5471671 Wang et al. Nov 1995 A
5697059 Carney Dec 1997 A
5726984 Kubler et al. Mar 1998 A
5956643 Benveniste Sep 1999 A
6061799 Eldridge et al. May 2000 A
6112092 Benveniste Aug 2000 A
6154655 Borst et al. Nov 2000 A
6201792 Lahat Mar 2001 B1
6314294 Benveniste Nov 2001 B1
6473413 Chiou et al. Oct 2002 B1
6496699 Benveniste Dec 2002 B2
6519461 Andersson et al. Feb 2003 B1
6628623 Noy Sep 2003 B1
6628938 Rachabathuni et al. Sep 2003 B1
6636498 Leung Oct 2003 B1
6775549 Benveniste Aug 2004 B2
6865393 Baum et al. Mar 2005 B1
6957067 Iyer et al. Oct 2005 B1
7002943 Bhagwat et al. Feb 2006 B2
7057566 Theobold Jun 2006 B2
7085224 Oran Aug 2006 B1
7085241 O'Neill et al. Aug 2006 B1
7130629 Leung et al. Oct 2006 B1
7154874 Bhagwat et al. Dec 2006 B2
7164667 Rayment et al. Jan 2007 B2
7174170 Steer et al. Feb 2007 B2
7177646 O'Neill et al. Feb 2007 B2
7181530 Halasz et al. Feb 2007 B1
7216365 Bhagwat et al. May 2007 B2
7224697 Banerjea May 2007 B2
7251238 Joshi et al. Jul 2007 B2
7336670 Calhoun Feb 2008 B1
7339914 Bhagwat et al. Mar 2008 B2
7346338 Calhoun et al. Mar 2008 B1
7366894 Kalimuthu et al. Apr 2008 B1
7370362 Olson et al. May 2008 B2
7440434 Chaskar et al. Oct 2008 B2
7512379 Nguyen Mar 2009 B2
7536723 Bhagwat et al. May 2009 B1
7562384 Huang Jul 2009 B1
7593356 Friday Sep 2009 B1
7656822 AbdelAziz et al. Feb 2010 B1
7706789 Qi et al. Apr 2010 B2
7716370 Devarapalli May 2010 B1
7751393 Chaskar et al. Jul 2010 B2
7768952 Lee Aug 2010 B2
7793104 Zheng et al. Sep 2010 B2
7804808 Bhagwat et al. Sep 2010 B2
7843907 Abou-Emara et al. Nov 2010 B1
7844057 Meier et al. Nov 2010 B2
7856209 Rawat Dec 2010 B1
7921185 Chawla et al. Apr 2011 B2
7949342 Cuffaro et al. May 2011 B2
7961725 Nagarajan et al. Jun 2011 B2
7970894 Patwardhan Jun 2011 B1
8000308 Dietrich et al. Aug 2011 B2
8069483 Matlock Nov 2011 B1
8219688 Wang Jul 2012 B2
8249606 Neophytou et al. Aug 2012 B1
8493918 Karaoguz et al. Jul 2013 B2
8789191 Bhagwat et al. Jul 2014 B2
8824448 Narayana et al. Sep 2014 B1
8948046 Kang et al. Feb 2015 B2
9003527 Bhagwat et al. Apr 2015 B2
20010006508 Pankaj et al. Jul 2001 A1
20020012320 Ogier et al. Jan 2002 A1
20020021689 Robbins et al. Feb 2002 A1
20020071422 Amicangioli Jun 2002 A1
20020091813 Lamberton et al. Jul 2002 A1
20020116463 Hart Aug 2002 A1
20020128984 Mehta et al. Sep 2002 A1
20030005100 Barnard et al. Jan 2003 A1
20030039212 Lloyd et al. Feb 2003 A1
20030087629 Juitt May 2003 A1
20030104814 Gwon et al. Jun 2003 A1
20030129988 Lee et al. Jul 2003 A1
20030145091 Peng et al. Jul 2003 A1
20030179742 Ogier et al. Sep 2003 A1
20040003285 Whelan et al. Jan 2004 A1
20040013118 Borella Jan 2004 A1
20040022222 Clisham Feb 2004 A1
20040054774 Barber et al. Mar 2004 A1
20040064467 Kola et al. Apr 2004 A1
20040077341 Chandranmenon et al. Apr 2004 A1
20040103282 Meier et al. May 2004 A1
20040109466 Van Ackere et al. Jun 2004 A1
20040162037 Shpak Aug 2004 A1
20040185876 Groenendaal et al. Sep 2004 A1
20040192312 Li et al. Sep 2004 A1
20040196977 Johnson et al. Oct 2004 A1
20040236939 Watanabe et al. Nov 2004 A1
20040255028 Chu et al. Dec 2004 A1
20050053003 Cain et al. Mar 2005 A1
20050074015 Chari et al. Apr 2005 A1
20050099983 Nakamura et al. May 2005 A1
20050122946 Won Jun 2005 A1
20050154774 Giaffreda et al. Jul 2005 A1
20050207417 Ogawa et al. Sep 2005 A1
20050259682 Yosef et al. Nov 2005 A1
20050262266 Wiberg et al. Nov 2005 A1
20050265288 Liu Dec 2005 A1
20050266848 Kim Dec 2005 A1
20060010250 Eisl et al. Jan 2006 A1
20060013179 Yamane Jan 2006 A1
20060026289 Lyndersay et al. Feb 2006 A1
20060062250 Payne, III Mar 2006 A1
20060107050 Shih May 2006 A1
20060117018 Christiansen et al. Jun 2006 A1
20060140123 Conner et al. Jun 2006 A1
20060146748 Ng et al. Jul 2006 A1
20060146846 Yarvis et al. Jul 2006 A1
20060165015 Melick et al. Jul 2006 A1
20060187949 Seshan et al. Aug 2006 A1
20060221920 Gopalakrishnan et al. Oct 2006 A1
20060233128 Sood et al. Oct 2006 A1
20060234701 Wang et al. Oct 2006 A1
20060245442 Srikrishna et al. Nov 2006 A1
20060251256 Asokan et al. Nov 2006 A1
20060268802 Faccin Nov 2006 A1
20060294246 Stieglitz et al. Dec 2006 A1
20070004394 Chu et al. Jan 2007 A1
20070010231 Du Jan 2007 A1
20070025274 Rahman et al. Feb 2007 A1
20070025298 Jung Feb 2007 A1
20070049323 Wang et al. Mar 2007 A1
20070077937 Ramakrishnan et al. Apr 2007 A1
20070078663 Grace Apr 2007 A1
20070082656 Stieglitz et al. Apr 2007 A1
20070087756 Hoffberg Apr 2007 A1
20070091859 Sethi et al. Apr 2007 A1
20070115847 Strutt et al. May 2007 A1
20070116011 Lim et al. May 2007 A1
20070121947 Sood et al. May 2007 A1
20070133407 Choi et al. Jun 2007 A1
20070140191 Kojima Jun 2007 A1
20070150720 Oh et al. Jun 2007 A1
20070153741 Blanchette et al. Jul 2007 A1
20070156804 Mo Jul 2007 A1
20070160017 Meier et al. Jul 2007 A1
20070171885 Bhagwat et al. Jul 2007 A1
20070192862 Vermeulen et al. Aug 2007 A1
20070195761 Tatar et al. Aug 2007 A1
20070247303 Payton Oct 2007 A1
20070249324 Jou et al. Oct 2007 A1
20070263532 Mirtorabi et al. Nov 2007 A1
20070280481 Eastlake et al. Dec 2007 A1
20070288997 Meier et al. Dec 2007 A1
20080002642 Borkar et al. Jan 2008 A1
20080022392 Karpati et al. Jan 2008 A1
20080037552 Dos Remedios et al. Feb 2008 A1
20080080369 Sumioka Apr 2008 A1
20080080377 Sasaki et al. Apr 2008 A1
20080090575 Barak et al. Apr 2008 A1
20080095094 Innami Apr 2008 A1
20080095163 Chen Apr 2008 A1
20080107027 Allan et al. May 2008 A1
20080109879 Bhagwat et al. May 2008 A1
20080130495 Dos Remedios et al. Jun 2008 A1
20080146240 Trudeau Jun 2008 A1
20080151751 Ponnuswamy et al. Jun 2008 A1
20080159128 Shaffer Jul 2008 A1
20080170527 Lundsgaard et al. Jul 2008 A1
20080194271 Bedekar et al. Aug 2008 A1
20080207215 Chu et al. Aug 2008 A1
20080212562 Bedekar et al. Sep 2008 A1
20080219286 Ji Sep 2008 A1
20080225857 Lange Sep 2008 A1
20080229095 Kalimuthu et al. Sep 2008 A1
20080240128 Elrod Oct 2008 A1
20080253370 Cremin et al. Oct 2008 A1
20080273520 Kim et al. Nov 2008 A1
20080279161 Stirbu et al. Nov 2008 A1
20090019521 Vasudevan Jan 2009 A1
20090028052 Strater et al. Jan 2009 A1
20090040989 da Costa Feb 2009 A1
20090043901 Mizikovsky et al. Feb 2009 A1
20090082025 Song Mar 2009 A1
20090088152 Orlassino Apr 2009 A1
20090097436 Vasudevan et al. Apr 2009 A1
20090111468 Burgess et al. Apr 2009 A1
20090113018 Thomson et al. Apr 2009 A1
20090141692 Kasslin et al. Jun 2009 A1
20090144740 Gao Jun 2009 A1
20090168645 Tester et al. Jul 2009 A1
20090172151 Davis Jul 2009 A1
20090197597 Kotecha Aug 2009 A1
20090207806 Makela et al. Aug 2009 A1
20090239531 Andreasen et al. Sep 2009 A1
20090240789 Dandabany Sep 2009 A1
20090247170 Balasubramanian et al. Oct 2009 A1
20090303883 Kucharczyk et al. Dec 2009 A1
20090310557 Shinozaki Dec 2009 A1
20100046368 Kaempfer et al. Feb 2010 A1
20100057930 DeHaan Mar 2010 A1
20100067379 Zhao Mar 2010 A1
20100112540 Gross et al. May 2010 A1
20100115278 Shen et al. May 2010 A1
20100115576 Hale et al. May 2010 A1
20100132040 Bhagwat et al. May 2010 A1
20100208614 Harmatos Aug 2010 A1
20100228843 Ok et al. Sep 2010 A1
20100240313 Kawai Sep 2010 A1
20100254316 Sendrowicz Oct 2010 A1
20100260091 Seok Oct 2010 A1
20100290397 Narayana et al. Nov 2010 A1
20100304738 Lim et al. Dec 2010 A1
20100311420 Reza et al. Dec 2010 A1
20100322217 Jin et al. Dec 2010 A1
20100325720 Etchegoyen Dec 2010 A1
20110004913 Nagarajan et al. Jan 2011 A1
20110040867 Kalbag Feb 2011 A1
20110051677 Jetcheva Mar 2011 A1
20110055326 Michaelis et al. Mar 2011 A1
20110055928 Brindza Mar 2011 A1
20110058524 Hart Mar 2011 A1
20110064065 Nakajima et al. Mar 2011 A1
20110085464 Nordmark et al. Apr 2011 A1
20110182225 Song et al. Jul 2011 A1
20110185231 Balestrieri et al. Jul 2011 A1
20110258641 Armstrong et al. Oct 2011 A1
20110292897 Wu Dec 2011 A1
20120014386 Xiong et al. Jan 2012 A1
20120290650 Montuno et al. Nov 2012 A1
20130003729 Raman et al. Jan 2013 A1
20130003739 Raman et al. Jan 2013 A1
20130003747 Raman et al. Jan 2013 A1
20130028158 Lee et al. Jan 2013 A1
20130059570 Hara et al. Mar 2013 A1
20130086403 Jenne et al. Apr 2013 A1
20130103833 Ringland et al. Apr 2013 A1
20130227306 Santos et al. Aug 2013 A1
20130230020 Backes Sep 2013 A1
20130250811 Vasseur et al. Sep 2013 A1
20140269327 Fulknier et al. Sep 2014 A1
20140298467 Bhagwat et al. Oct 2014 A1
20150120864 Unnimadhavan et al. Apr 2015 A1
Foreign Referenced Citations (8)
Number Date Country
0940999 Sep 1999 EP
1732276 Dec 2006 EP
1771026 Apr 2007 EP
1490773 Jan 2013 EP
0059251 Oct 2000 WO
2004042971 May 2004 WO
2006129287 Dec 2006 WO
2009141016 Nov 2009 WO
Non-Patent Literature Citations (13)
Entry
Wu, Haitao et al., “Layer 2.5 SoftMAC: End-System Based Media Streaming Support on Home Networks,” IEEE Global Telecommunications Conference (GLOBECOM '05), vol. 1, pp. 235-239, Nov. 2005.
European Patent Application No. 12879114.2, Search Report mailed Jan. 21, 2016.
Clausen, T., et al., “Optimized Link State Routing Protocol (OLSR),” Network Working Group, pp. 1-71, Oct. 2003.
He, Changhua et al., “Analysis of the 802.11i 4-Way Handshake,” Proceedings of the 3rd ACM Workshop on Wireless Security, pp. 43-50, Oct. 2004.
Lee, Jae Woo et al, “z2z: Discovering Zeroconf Services Beyond Local Link,” 2007 IEEE Globecom Workshops, pp. 1-7, Nov. 26, 2007.
Perkins, C., et al., “Ad hoc On-Demand Distance Vector (AODV) Routing,” Network Working Group, pp. 1-35, Oct. 2003.
International Application No. PCT/US2008/061674, International Search Report and Written Opinion mailed Oct. 14, 2008.
International Application No. PCT/US2011/047591, International Search Report and Written Opinion mailed Dec. 19, 2011.
International Application No. PCT/US2012/059093, International Search Report and Written Opinion mailed Jan. 4, 2013.
Chirumamilla, Mohan K. et al., “Agent Based Intrustion Detection and Response System for Wireless LANs,” CSE Conference and Workshop Papers, Paper 64, Jan. 1, 2003.
Craiger, J. Philip, “802.11, 802.1x, and Wireless Security,” SANS Institute InfoSec Reading Room, Jun. 23, 2002.
Finlayson, Ross et al., “A Reverse Address Resolution Protocol,” Nework Working Group, Request for Comments: 903 (RFC 903), Jun. 1984.
European Patent Application No. 11823931.8, Search Report mailed Aug. 29, 2016.
Related Publications (1)
Number Date Country
20150195845 A1 Jul 2015 US
Continuations (1)
Number Date Country
Parent 12877048 Sep 2010 US
Child 14663028 US