Minimization of In-Band Noise in a WLAN Network

Information

  • Patent Application
  • 20080019334
  • Publication Number
    20080019334
  • Date Filed
    July 24, 2006
    18 years ago
  • Date Published
    January 24, 2008
    16 years ago
Abstract
A method, apparatus and computer-usable medium for minimizing in-band noise in a WLAN network is presented. The method includes the steps of detecting, at a first wireless device that communicates with a Wireless Local Area Network (WLAN) via a first access point, a signal interference that is caused by a second wireless device that communicates with the WLAN via a second access point, wherein the first and second access points communicate with their respective first and second wireless devices via a same channel; and minimizing the signal interference by sending an instruction to the second wireless device to switch to a third access point, wherein the third access point uses a different channel than the channel that is used by the first and second access points.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further purposes and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, where:



FIG. 1 illustrates a prior art Wireless Local Area Network (WLAN) having multiple Wi-Fi cells;



FIG. 2 depicts a coverage area of signal interference caused by a computer in one of the Wi-Fi cells in the WLAN illustrated in FIG. 1;



FIGS. 3
a-b are flow-charts of exemplary steps taken to minimize signal interference caused by the computer described in FIG. 2; and



FIG. 4 depicts an exemplary client computer in which the present invention may be implemented.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to FIG. 3a, a flow-chart of exemplary steps taken in the present invention is presented. After initiator block 302, a first wireless device (e.g., Client A shown in FIG. 1) establishes a communication session with a first access point (e.g., AP 1 shown in FIG. 1) to communicate with a Wireless Local Area Network (WLAN), as described in block 304. The first wireless device (Client A) scans for and detects a signal interference (i.e., an in-band noise) from a second wireless device (Client B) (query block 306). Note that the second wireless device (Client B) communicates with a second access point (AP 2) in the WLAN (i.e., the first and second access points are different). The first wireless device (Client A) (or alternatively, the first access point AP 1) is able to determine which access point is servicing the second wireless device (Client B) that is causing the in-band noise (by transmitting on the same channel that is being used by Client A). This determination is made by the first wireless device Client A (or else the first access point AP 1) reading a Media Access Control (MAC) address in a header of a data packet that was sent by the second wireless device Client B. Note that this determination may be made by logic within the first wireless device Client A, such as a processor unit 404 shown for (wireless) client device 402 depicted in FIG. 4.


After determining which access point (AP 2) is communicating with the offensive wireless device (the second wireless device Client B), the first wireless device Client A sends a message to the first access point AP 1, requesting that the first access point AP 1 contact the second access point AP 2 with an instruction for the second wireless device (Client B) to switch channels and access points (block 308), preferably to a third access point that is on another channel. For example, an instruction may be sent to Client B instructing Client B to switch to Channel 11, using access point AP 3. In one embodiment, this instruction is sent only after a determination has been made that the in-band noise is coming from another IEEE 802.11x compliant device, which is transmitting a Wi-Fi signal. That is, the instruction is sent only after a determination has been made that the in-band noise is not from a non-IEEE 802.11x device (i.e., a Bluetooth™ device, a cordless phone, a microwave oven, etc.), but rather is made by an IEEE 802.11x device, such as a laptop computer that is Wi-Fi enabled. This determination is performed by analyzing a noise pattern generated by the offensive wireless device (e.g., Client B), and then mapping known patterns for 802.11x devices to determine that the device is or is not an 802.11x device. Thus, referring again to query block 306, if a determination is made that the interference is NOT from an IEEE 802.11x device (i.e., a Bluetooth™ device, a cordless phone, a microwave oven, etc.), then the process ends (terminator block 310).


In another embodiment, the instruction to switch channels and access points is sent only if the second wireless device detects a lower signal strength from the third access point (e.g., AP 3) than from the first access point (e.g., AP 1) or the second access point (e.g., AP 2). Such a requirement (contacting an access point that has a lower signal strength) is contrary to standard connection protocols, which direct a wireless device to whichever device has the strongest signal. However, in the problem described above, Client B may be receiving a strong signal from AP 1, which leads to the in-band noise to Client A caused by Client B attempting to communicate with AP 1. Therefore, Client B will be directed to communicate with a more distant (having a weaker signal) access point. The process ends at terminator block 310.


Note that in one embodiment, control of the switching from one access point to another access point with a different channel can be managed by reporting the in-band noise condition experienced by the first wireless device to a central control site, which then automatically rebalances all access points (including the second and third access points) to correct the in-band noise problem.


Referring now to FIG. 3b, a flow-chart showing exemplary steps of another embodiment of the present invention is presented. As in FIG. 3a, after initiator block 312, a session is initiated between Client A and access point AP 1 (block 314). A query is made as to whether Client A is experiencing in-band signal interference from another IEEE 802.11x device (query block 316). This query (as to whether there is in-band signal interference) and determination (if the source of the interference is another IEEE 802.11x device) may be made in the manner described above with reference to FIG. 3a. If such interference exists, then Client B, which is in another Wi-Fi cell, listens for communication activity between Client A and access point AP 1 (block 318). As long as Client A is transceiving, Client B remains quiet (does not transmit). However, when Client A stops transceiving, then Client B will start communicating with access point AP 2, and will continue as long as Client A is quiet. When Client A starts transceiving again, then Client B stops transmitting until Client A gets quiet again (block 320). The process ends at terminator block 322.


Note that, as described with FIG. 3a, control of the Client B (waiting for Client A to be quiet) can be managed by reporting the in-band noise condition experienced by the first wireless device to a central control site, which then automatically controls Client B to be quiet while Client A is transceiving, thus correcting the in-band noise problem.


With reference now to FIG. 4, there is depicted a block diagram of an exemplary wireless device, depicted as client computer 402, in which the present invention may be utilized. Client computer 402 includes a processor unit 404 that is coupled to a system bus 406. A video adapter 408, which drives/supports a display 410, is also coupled to system bus 406. System bus 406 is coupled via a bus bridge 412 to an Input/Output (I/O) bus 414. An I/O interface 416 is coupled to I/O bus 414. I/O interface 416 affords communication with various I/O devices, including a keyboard 418, a mouse 420, a Compact Disk-Read Only Memory (CD-ROM) drive 422, a floppy disk drive 424, and a flash drive memory 426. The format of the ports connected to I/0 interface 416 may be any known to those skilled in the art of computer architecture, including but not limited to Universal Serial Bus (USB) ports.


Client computer 402 is able to wirelessly communicate with a Wireless Local Area Network (WLAN) 450 via an access point 428 using a wireless network interface 430, which is coupled to system bus 406. WLAN 450 (such as WLAN 100 shown in FIG. 1) may be connected to an external network such as the Internet, or an internal network such as an Ethernet or a Virtual Private Network (VPN). Note that wireless network interface 430 includes a transmitter 431 for transmitting data packets to access point 428, and a receiver 433 for receiving data packets from access point 428.


A hard drive interface 432 is also coupled to system bus 406. Hard drive interface 432 interfaces with a hard drive 434. In a preferred embodiment, hard drive 434 populates a system memory 436, which is also coupled to system bus 406. Data that populates system memory 436 includes client computer 402's operating system (OS) 438 and application programs 444.


OS 438 includes a shell 440, for providing transparent user access to resources such as application programs 444. Generally, shell 440 is a program that provides an interpreter and an interface between the user and the operating system. More specifically, shell 440 executes commands that are entered into a command line user interface or from a file. Thus, shell 440 (as it is called in UNIX®), also called a command processor in Windows®, is generally the highest level of the operating system software hierarchy and serves as a command interpreter. The shell provides a system prompt, interprets commands entered by keyboard, mouse, or other user input media, and sends the interpreted command(s) to the appropriate lower levels of the operating system (e.g., a kernel 442) for processing. Note that while shell 440 is a text-based, line-oriented user interface, the present invention will equally well support other user interface modes, such as graphical, voice, gestural, etc.


As depicted, OS 438 also includes kernel 442, which includes lower levels of functionality for OS 438, including providing essential services required by other parts of OS 438 and application programs 444, including memory management, process and task management, disk management, and mouse and keyboard management.


Application programs 444 include a browser 446. Browser 446 includes program modules and instructions enabling a World Wide Web (WWW) client (i.e., client computer 402) to send and receive network messages to the Internet using HyperText Transfer Protocol (HTTP) messaging, thus enabling communication with the Internet.


Application programs 444 in client computer 402's system memory also include an Interference Minimizing Program (IMP) 448. ET 448 includes code for implementing the processes described above in FIGS. 3a-b. Note that the hardware depicted for client computer 402 may be utilized by both a first wireless device and a second wireless device, as contemplated by the presently claimed invention.


The hardware elements depicted in client computer 402 are not intended to be exhaustive, but rather are representative to highlight essential components required by the present invention. For instance, client computer 402 may include alternate memory storage devices such as magnetic cassettes, Digital Versatile Disks (DVDs), Bernoulli cartridges, and the like. These and other variations are intended to be within the spirit and scope of the present invention.


The present invention thus presents a method for minimizing in-band noise from a nearby wireless device. In one embodiment, the method includes the steps of detecting, at a first wireless device that communicates with a Wireless Local Area Network (WLAN) via a first access point, a signal interference that is caused by a second wireless device that communicates with the WLAN via a second access point, wherein the first and second access points communicate with their respective first and second wireless devices via a same channel; and minimizing the signal interference by sending an instruction to the second wireless device to switch to a third access point, wherein the third access point uses a different channel than the channel that is used by the first and second access points. In on embodiment, the signal interference is an in-band radio frequency interference, and the method further includes the steps of determining if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device or is from another noise source; and performing the minimizing step only if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device. The instruction, which was sent instructing the second wireless device to switch to the third access point, may sent from the first access point to the second wireless device via the second access point, and the first access point may identify the second access point by reading a header of a data packet sent by the second wireless device. In another embodiment, the first and second wireless devices are in a peer-to-peer configuration, and wherein the instruction, which was sent instructing the second wireless device to switch to the third access point, is sent directly from the first wireless device to the second wireless device. The first and/or second wireless devices may be laptop computers. In another embodiment, the second wireless device switches to the third access point only if the second wireless device detects a lower signal strength from the third access point than from the second access point. In another embodiment, the method includes the further steps of, in response to determining that a third access point is not available to the second wireless device, causing the second wireless device to listen for data transmission activity between the first wireless device and the first access point; and permitting transmission activity to and from the second wireless device only during periods in which the second wireless device detects is a lack of activity between the first wireless device and the first access point.


It should be understood that at least some aspects of the present invention may alternatively be implemented in a computer-useable medium that contains a program product. Programs defining functions on the present invention can be delivered to a data storage system or a computer system via a variety of signal-bearing media, which include, without limitation, non-writable storage media (e.g., CD-ROM), writable storage media (e.g., hard disk drive, read/write CD ROM, optical media), system memory such as but not limited to Random Access Memory (RAM), and communication media, such as computer and telephone networks including Ethernet, the Internet, wireless networks, and like network systems. It should be understood, therefore, that such signal-bearing media when carrying or encoding computer readable instructions that direct method functions in the present invention, represent alternative embodiments of the present invention. Further, it is understood that the present invention may be implemented by a system having means in the form of hardware, software, or a combination of software and hardware as described herein or their equivalent.


While the present invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. Furthermore, as used in the specification and the appended claims, the term “computer” or “system” or “computer system” or “computing device” includes any data processing system including, but not limited to, personal computers, servers, workstations, network computers, main frame computers, routers, switches, Personal Digital Assistants (PDA's), telephones, and any other system capable of processing, transmitting, receiving, capturing and/or storing data.

Claims
  • 1. A method comprising: detecting, at a first wireless device that communicates with a Wireless Local Area Network (WLAN) via a first access point, a signal interference that is caused by a second wireless device that communicates with the WLAN via a second access point, wherein the first and second access points communicate with their respective first and second wireless devices via a same channel; andminimizing the signal interference by sending an instruction to the second wireless device to switch to a third access point, wherein the third access point uses a different channel than a channel that is used by the first and second access points.
  • 2. The method of claim 1, wherein the signal interference is an in-band radio frequency interference.
  • 3. The method of claim 2, further comprising: determining if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device or is from another noise source; andperforming the minimizing step only if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device.
  • 4. The method of claim 1, wherein the instruction, which was sent instructing the second wireless device to switch to the third access point, is sent from the first access point to the second wireless device via the second access point.
  • 5. The method of claim 4, wherein the first access point identifies the second access point by reading a header of a data packet sent by the second wireless device.
  • 6. The method of claim 1, wherein the first and second wireless devices are in a peer-to-peer configuration, and wherein the instruction, which was sent instructing the second wireless device to switch to the third access point, is sent directly from the first wireless device to the second wireless device.
  • 7. The method of claim 1, wherein the first wireless device is a laptop computer.
  • 8. The method of claim 1, wherein the second wireless device switches to the third access point only if the second wireless device detects a lower signal strength from the third access point than from the first or second access points.
  • 9. The method of claim 1, further comprising: in response to determining that a third access point is not available to the second wireless device, causing the second wireless device to listen for data transmission activity between the first wireless device and the first access point; andpermitting transmission activity to and from the second wireless device only during periods in which the second wireless device detects is a lack of activity between the first wireless device and the first access point.
  • 10. A system comprising: a first access point to a Wireless Local Area Network (WLAN);a first wireless device, wherein the first wireless device is wirelessly coupled to the first access point, and wherein the first wireless device comprises logic for detecting a signal interference that is caused by a second wireless device that communicates with the WLAN via a second access point, and wherein the first and second access points communicate with their respective first and second wireless devices via a same channel, and wherein the first access point comprises a transmitter for sending an instruction to the second wireless device to switch to a third access point, wherein the third access point uses a different channel than a channel that is used by the first and second access points.
  • 11. The system of claim 10, wherein the signal interference is an in-band radio frequency interference.
  • 12. The system of claim 11, further comprising: logic in the first wireless device for determining if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device or is from another noise source, wherein the instruction for the second wireless device is sent only if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device.
  • 13. The system of claim 10, wherein the first wireless device is a laptop computer.
  • 14. A computer-usable medium embodying computer program code, the computer program code comprising computer executable instructions configured for: detecting, at a first wireless device that communicates with a Wireless Local Area Network (WLAN) via a first access point, a signal interference that is caused by a second wireless device that communicates with the WLAN via a second access point, wherein the first and second access points communicate with their respective first and second wireless devices via a same channel; andminimizing the signal interference by sending an instruction to the second wireless device to switch to a third access point, wherein the third access point uses a different channel than a channel that is used by the first and second access points.
  • 15. The computer-usable medium of claim 14, wherein the signal interference is an in-band radio frequency interference.
  • 16. The computer-usable medium of claim 16, wherein the computer executable instructions are further configured for: determining if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device or is from another noise source; andperforming the minimizing step only if the in-band radio frequency interference is from an IEEE 802.11x compliant transmitting client device.
  • 17. The computer-usable medium of claim 14, wherein the instruction, which was sent instructing the second wireless device to switch to the third access point, is sent from the first access point to the second wireless device via the second access point.
  • 18. The computer-usable medium of claim 17, wherein the first access point identifies the second access point by reading a header of a data packet sent by the second wireless device.
  • 19. The computer-usable medium of claim 14, wherein the second wireless device switches to the third access point only if the second wireless device detects a lower signal strength from the third access point than from the second access point.
  • 20. The computer-usable medium of claim 14, wherein the computer executable instructions are further configured for: in response to determining that a third access point is not available to the second wireless device, causing the second wireless device to listen for data transmission activity between the first wireless device and the first access point; andpermitting transmission activity to and from the second wireless device only during periods in which the second wireless device detects is a lack of activity between the first wireless device and the first access point.