text: aspects of the present invention may be implemented with computer devices and wireless computer peripheral devices . in particular , a computer device may be coupled to one or more wireless peripheral devices that transmit data via a radio frequency link . fig1 is a schematic diagram of a conventional general - purpose digital computing environment that can be used to implement various aspects of the invention . computer 100 includes a processing unit 110 , a system memory 120 and a system bus 130 that couples various system components including the system memory to the processing unit 110 . system bus 130 may be any of several types of bus structures including a memory bus or memory controller , a peripheral bus , and a local bus using any of a variety of bus architectures . system memory 120 includes a read only memory ( rom ) 140 and a random access memory ( ram ) 150 . a basic input / output system ( bios ) 160 containing the basic routines that help to transfer information between elements within the computer 100 , such as during start up , is stored in rom 140 . computer 100 also includes a hard disk drive 170 for reading from and writing to a hard disk ( not shown ), a magnetic disk drive 180 for reading from or writing to a removable magnetic disk 190 , and an optical disk drive 191 for reading from or writing to a removable optical disk 192 , such as a cd rom or other optical media . hard disk drive 170 , magnetic disk drive 180 , and optical disk drive 191 are respectively connected to the system bus 130 by a hard disk drive interface 192 , a magnetic disk drive interface 193 , and an optical disk drive interface 194 . the drives and their associated computer - readable media provide nonvolatile storage of computer readable instructions , data structures , program modules and other data for personal computer 100 . it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer , such as magnetic cassettes , flash memory cards , digital video disks , bernoulli cartridges , random access memories ( rams ), read only memories ( roms ), and the like , may also be used in the exemplary operating environment . a number of program modules can be stored on the hard disk , magnetic disk 190 , optical disk 192 , rom 140 or ram 150 , including an operating system 195 , one or more application programs 196 , other program modules 197 , and program data 198 . a user can enter commands and information into computer 100 through input devices , such as a keyboard 101 and a pointing device 102 . other input devices ( not shown ) may include a microphone , joystick , game pad , satellite dish , scanner , or the like . these and other input devices are often connected to the processing unit 110 through a serial port interface 106 that is coupled to the system bus , but may be connected by other interfaces , such as a parallel port , a game port , a universal serial bus ( usb ) or through a pci board . a monitor 107 or other type of display device is also connected to system bus 130 via an interface , such as a video adapter 108 . in addition to the monitor , personal computers typically include other peripheral output devices ( not shown ), such as speakers and printers . computer 100 can operate in a networked environment using logical connections to one or more remote computers , such as a remote computer 109 . remote computer 109 can be a server , a router , a network pc , a peer device or other common network node , and typically includes many or all of the elements described above relative to computer 100 , although only a memory storage device 111 has been illustrated in fig1 . the logical connections depicted in fig1 include a local area network ( lan ) 112 and a wide area network ( wan ) 113 . such networking environments are commonplace in offices , enterprise - wide computer networks , intranets and the internet . when used in a lan networking environment , computer 100 is connected to local network 112 through a network interface or adapter 114 . when used in a wan networking environment , personal computer 100 typically includes a modem 115 or other means for establishing a communications over wide area network 113 , such as the internet . modem 115 , which may be internal or external , is connected to system bus 130 via serial port interface 106 . in a networked environment , program modules depicted relative to personal computer 100 , or portions thereof , may be stored in the remote memory storage device . it will be appreciated that the network connections shown are exemplary and other ways of establishing a communications link between the computers can be used . the existence of any of various well - known protocols , such as tcp / ip , ethernet , ftp , http and the like , is presumed , and the system can be operated in a client - server configuration to permit a user to retrieve web pages from a web - based server . any of various conventional web browsers can be used to display and manipulate data on web pages . although not required , the invention will be described in the general context of computer - executable instructions , such as program modules , that are executed by computer devices . generally , program modules include routines , programs , objects , components , data structures , etc ., that perform particular tasks or implement particular abstract data types . [ 0023 ] fig2 illustrates a computer device configuration that includes a wireless computer peripheral device in accordance with an embodiment of the invention . a wireless computer mouse 202 may transmit radio frequency signals to receiver 204 . computer mouse 202 may operate at approximately 27 mhz with a bandwidth of about 50 khz . in alternative embodiments of the invention , a different wireless computer peripheral device , such as a keyboard , may be used in place of mouse 202 . receiver 204 includes an interference module 206 that determines whether interference exists in the transmission of data from wireless computer mouse 202 to receiver 204 . receiver 204 also includes a signal strength module 208 that analyzes the strength of signals received at receiver 204 . the operations of interference module 206 and signal strength module 208 are described in detail below . receiver 204 is connected to a computer device 210 . computer device 210 may be similar to computer 100 ( shown in fig1 ). computer device 210 includes a corrective action module 212 . corrective active module 212 receives information from interference module 206 and signal strength module 208 and recommends corrective action to a user when there is a weak signal strength and / or interference . computer device 210 is also connected to a display device 214 . display device 214 may be similar to monitor 107 ( shown in fig1 ). display device 214 displays a wireless alert 216 to a user of the system . in the example shown , wireless alert 216 recommends the corrective action of moving the mouse closer to the receiver . in one implementation wireless alert 216 is generated or selected by corrective actual action module 212 in the manner described below . of course , aspects of the present invention may be implemented with other forms of conveying information to the user . for example , an audio or video message may be presented to the user . one skilled in the art will appreciate that numerous modifications can be made to the system shown in fig2 without departing from the broader spirit and scope of the invention . for example , corrective action module 212 may be included within receiver 204 . receiver 204 may include a display or group of lights to convey status and recommended corrective action information . for example , lights may be used to indicate signal strength and the presence of interference . in an alternative embodiment , one or more of interference module 206 and signal strength module 208 may be included within computer device 210 . of course , the functions of interference module 206 , signal strength module 208 and collective action module 212 may be combined into one or more modules or further divided into additional modules . in one particular embodiment of the invention , interference module 206 , signal strength module 208 and corrective action module 212 are implemented with computer - executable instructions residing within receiver 204 and / or computer device 210 . [ 0027 ] fig3 illustrates a mechanism for analyzing signal strength in accordance with one embodiment of the invention . signals 302 , 304 and 306 are exemplary signals that are received at a receiver , such as receiver 204 . signal 302 includes a pulse that has a pulse width of x microseconds . signal 304 includes a pulse having a pulse width of y microseconds and signal 306 includes a pulse having a pulse width of z microseconds . as shown in the figure , y microseconds is longer than x microseconds and z microseconds is longer than y microseconds . as a signal received at receiver becomes weaker , there is an increasing amount of jitter in the receiver signal . as a result , the deviation from the expected or optimal pulse width of the received signal can be used as an indication of the strength of the signal . signal 302 is considered a strong signal because a pulse width of x microseconds falls within a predetermined tolerance of the original signal , such as plus or minus 10 microseconds of the original signal . signal 304 is labeled as a medium signal because a pulse width of y microseconds exceeds the tolerance established for a strong signal , but does not exceed the minimum tolerance established for labeling a signal weak . signal 306 is labeled as a weak signal because the pulse width of z microseconds exceeds the minimum tolerance for labeling a signal weak . [ 0029 ] fig3 shows pulse widths becoming longer as the signal strength becomes weaker . the pulse widths may also become shorter as the signal strength becomes weaker . the deviation from the optimal pulse width is used to determine signal strength . signal strength module 208 may analyze a group of signals and use the signal having the greatest deviation from the optimal pulse width when making a signal strength determination . aspects of the present invention are not limited to implementations that include wireless computer peripheral devices . in other embodiments , wireless telephones , pdas or other devices and systems may analyze the strength of a received signal by measuring the deviation of a pulse from an optimal value . moreover , signal strength module 208 may be configured to determine the signal strength of signals that do not use pulse width modulation . [ 0030 ] fig4 illustrates a method for analyzing incoming signals and recommending corrective action in accordance with an embodiment of the invention . first , in step 402 the strength of the received signal is measured . in one embodiment of the invention , step 402 includes analyzing the deviation of a pulse width from an optimal value . next , in step 404 it is determined whether sources of interference exist . step 404 may include identifying aborted packets , packets having incorrect checksums and / or identifying packets having invalid identifier values . next , in step 406 corrective action is recommended based on the measurement made in step 402 and / or the determination made its step 404 . step 406 may include recommending that a user change the channel used to carry the signal , recommending that a user move a wireless computer peripheral device closer to the receiver and recommending that a user move the wireless computer peripheral device away from a potential source of interference . after interference module 206 and signal strength module 208 determine and measure interference and signal strength , one skilled in the art will appreciate that there are many different methods that can be used by corrective action module 212 to recommend corrective action . selection of the particular method may be a function of the type of computer device , wireless computer peripheral device , receiver or other factors . [ 0032 ] fig5 illustrates an interference bin module 500 that may be used to store interference and signal strength information for use by corrective action module 212 . interference bin module 500 may be included within receiver 204 or computer device 210 . a good packet bin 502 includes a count of packets having good checksums . a bad packet bin 504 includes a count of packets having bad checksums or identifier values . an aborted packet bin includes a count of packets that were aborted . the values within bins 502 , 504 and 506 are divided into strong packet , medium packet and weak packet sub - bins . a sub - bin is selected based on the signal strength of the packet . for example , a good packet having a medium signal strength would be counted under good packet bin 502 in the medium packets sub - bin . a partial packet bin 508 may be included to count partial packets . [ 0033 ] fig6 shows a method that may be used by a corrective action module to provide corrective action based on the information in an interference bin module . first , in step 602 is determined whether good packets are mostly counted in the medium and weak sub - bins of good packet bin 502 . when they are , in step 604 the corrective action of moving the device closer to the receiver is recommended . next , in step 606 it is determined whether the strong and medium sub - bins of bad packet bin are empty . when they are not , the corrective actions of changing the channel , moving the device closer to the receiver and moving the device farther from potential interference are recommended in step 608 . in step 610 it is determined whether the weak sub - bin of bad packet bin 504 is empty . when the sub - bin is not empty , in step 612 it is determined whether good packets are in the medium and strong sub - bins of good packet bin 502 . when they are not , in step 604 the corrective action of moving the device closer to the receiver is recommended . when good packets are in the medium and strong sub - bins of good packet bin 502 , in step 614 no corrective action is required . next , in step 616 it is determined whether partial packet bin 508 is empty . when it is not , the corrective actions of changing the channel , moving the device closer to the receiver and moving the device farther from potential interference are recommended in step 608 . in step 618 it is determined whether the weak sub - bin of aborted packet bin 506 is empty . when it is empty , in step 620 no corrective action is required . when the sub - bin is not empty , in step 622 it is determined whether good packets are in the medium and strong sub - bins of good packet bin 502 and bad packets are in the weak sub - bin of good packet bin 502 . when they are not , the corrective actions of changing the channel , moving the device closer to the receiver and moving the device farther from potential interference are recommended in step 608 . when good packets are in the medium and strong sub - bins of good packet bin 502 and bad packets are in the weak sub - bin of good packet bin 502 , in step 624 no corrective action is required . the present invention has been described herein with reference to specific exemplary embodiments thereof . it will be apparent to those skilled in the art , that a person understanding this invention may conceive of changes or other embodiments or variations , which utilize the principles of this invention without departing from the broader spirit and scope of the invention as set forth in the appended claims . for example , when the wireless computer peripheral device is configured to receive data , the wireless computer peripheral device may be configured to receive and implement corrective action information . all changes or other embodiments or variations , which utilize the principles of this invention are considered within the sphere , spirit , and scope of the invention . the specification and drawings are , therefore , to be regarded in an illustrative rather than restrictive sense . accordingly , it is not intended that the invention be limited except as may be necessary in view of the appended claims .