Patent Description:
Wireless devices such as smart phones and tablet computing devices continue to proliferate, adding to the total number of mobile devices that seek pervasive Wi-Fi connectivity. Wireless LAN technology continues to evolve as wireless connection speeds advance. Various monitoring tools that monitor wireless networks need therefore be configured to support multiple device types, including legacy <NUM> a/b/g/n devices, and current <NUM>. 11ac devices that enable greater than <NUM> Gbit/s speeds. The IEEE <NUM>. 11ac standard supports a more efficient modulation scheme and may bond wider channel bandwidth, up to <NUM>, to improve link speed. 11ac standard introduces new features. For example, <NUM>. 11ac introduces <NUM> and <NUM> VHT (Very High Throughput) communication channels. Therefore, the ability to efficiently monitor environment in which VHT channel resides in is advantageous to devices utilized tor monitoring wireless networks.

Document<NPL> discloses an example of the prior art.

Document <CIT> discloses another example of the prior art.

The invention relates to a system for evaluating available channels in a multi-channel WLAN telecommunication system and a computer program product for evaluating available channels in a multi-channel WLAN telecommunication system as defined in the appended independent claims. Embodiments representing particular realisations of the invention are defined in the appended dependent claims.

The accompanying appendices and/or drawings illustrate various, non-limiting, examples, in accordance with the present disclosure:.

The present invention is now described more fully with reference to the accompanying drawings, in which illustrated embodiments are shown wherein like reference numerals identify like elements. The illustrated embodiments described below are merely exemplary of the invention, which can be embodied in various forms, as appreciated by one skilled in the art. Therefore, it is to be understood that any structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims. Furthermore, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description.

Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing, exemplary methods and materials are now described. It must be noted that as used herein and in the appended claims, the singular forms "a", "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a stimulus" includes a plurality of such stimuli and reference to "the signal" includes reference to one or more signals and equivalents thereof known to those skilled in the art, and so forth.

It is to be appreciated the embodiments as discussed below are preferably a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor. The machine typically includes memory storage configured to provide output from execution of the computer algorithm or program.

As used herein, the term "software" is meant to be synonymous with any code or program that can be in a processor of a host computer, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine. The embodiments described herein include such software to implement the equations, relationships and algorithms described below. One skilled in the art will appreciate further features and advantages of the invention based on the below-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims.

In exemplary embodiments, a computer system component may constitute a "module" that is configured and operates to perform certain operations as described herein below. Accordingly, the term "module" should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g. programmed) to operate in a certain manner and to perform certain operations described herein.

Institute of Electrical and Electronics Engineers (IEEE) <NUM>. 11ac is a wireless networking standard that is marketed under the brand name Wi-Fi® and is directed to high-throughput wireless local area networks (WLAN). 11ac standard specifies that an entire allowed frequency range be subdivided into a fixed number of relatively narrow bandwidth channels of equal bandwidth, called fundamental channels, and that the devices can transmit using channels of different bandwidths, herein called transmission channels, built from multiple fundamental channels. When the duplicate frames are transmitted in transmission channels, each duplicate frame is transmitted in a fundamental channel. In the case of <NUM>. 11ac, the possible channel bandwidths are <NUM>/<NUM>/<NUM>/<NUM>/<NUM>+<NUM>. The advantage of channels with wider bandwidths is greater data transmission rates. An advantage of the Sub-<NUM> frequency range is that it allows greater range, and suffers less interference from intervening objects.

IEEE <NUM>. 11ac provides a physical layer convergence protocol (PLCP) data unit (PPDU) format that includes a preamble <NUM> and data <NUM>. The preamble <NUM> and data <NUM> are transmitted as Orthogonal Frequency Division Multiplexing (OFDM) symbols. The PPDU format <NUM> is shown in <FIG>. The preamble <NUM> includes (i) legacy fields applicable to IEEE <NUM>. 11a and IEEE <NUM>. 11n, and (ii) fields specific to IEEE <NUM>. The legacy fields include a legacy short training field (L-STF) <NUM>, a legacy long training filed (L-LTF) <NUM>, and a legacy signal field (L-SIG) <NUM>. The fields specific to IEEE <NUM>. 11ac include a first VHT signal (VHT-SIG-A) field <NUM>, a VHT short training field (VHT-STF) <NUM>, one or more VHT long training fields (VHT-LTFs) <NUM>, and a second VHT signal (VHT-SIG-B) field <NUM>. The L-STF <NUM>, L-LTF <NUM>, L-SIG <NUM>, VHT-SIG-A <NUM>, VHT-STF <NUM>, VHT-LTFs <NUM>, and VHT-SIG-B <NUM> fields have respective time durations, as shown in <FIG>.

The legacy fields are used for backward compatibility with network devices operating according to IEEE <NUM>. 11a and/or IEEE <NUM>. 11n standards. The L-STF <NUM> is used for start of packet detection, automatic gain control, initial frequency offset estimation, and initial time synchronization. The L-LTF <NUM> is used for fine frequency offset estimation, time synchronization, and channel estimation. The L-SIG field <NUM> is used for determining data rate and length information and time to remain "off air".

The VHT-SIG-A field <NUM> identifies: whether packets are IEEE <NUM>. 11n or IEEE <NUM>. 11ac packets; a bandwidth; a number of data streams; a guard interval; a type of coding; a modulation and coding scheme (MCS); and whether packets are beamforming packets. The VHT-STF <NUM> is used to improve automatic gain control for multiple-input-multiple-output (MIMO) network devices. One or more VHT-LTFs <NUM> are included in the PPDU depending on a number of data streams and/or users (network devices) in the corresponding WLAN. Each of the VHT-LTFs <NUM> is a single symbol in length and has a long training sequence that is used for channel estimation.

The VHT-SIG-B field <NUM> is a single symbol in length and provides user specific information including data length and MCS information. The VHT-SIG-B field <NUM> is primarily used for multiple user (MU) applications and is typically ignored for single user (SU) applications. The VHT-SIG-B field <NUM> may include a predetermined number of length bits and a predetermined number of tail bits. Depending on a bandwidth (e.g., <NUM> mega-hertz (MHz), <NUM>, <NUM>, <NUM> or noncontiguous <NUM> (referred to as <NUM>+<NUM>)) allocated for transmission of the VHT-SIG-B field <NUM>, the length bits and the tail bits may be repeated a predetermined number of times.

As noted above, generally, a set of operating bandwidths includes VHT channels including <NUM>, <NUM>, <NUM> only, <NUM>+<NUM> and <NUM> transmission channels. In one embodiment, six transmission channels with <NUM> bandwidth can be used as the VHT transmission channels. In this embodiment, each <NUM> transmission channel may comprise four contiguous <NUM> fundamental channels.

IEEE <NUM>. 11a is a standard, otherwise referred to as <NUM>. 11a channelization. The IEEE <NUM>. 11a standard specifies a data rate up to 54Mbits/second using the <NUM> radio band. In the United States, the <NUM> radio band is a conglomerate of three bands: <NUM> to <NUM> (U-NII - <NUM>); <NUM> to <NUM> (U-NI I-2A); and <NUM> to <NUM> (U-NI I-<NUM>). The <NUM> band contains <NUM> fundamental channels <NUM>, <NUM>, <NUM>, and <NUM> in U-NII-<NUM>; <NUM> fundamental channels <NUM>, <NUM>, <NUM>, <NUM> in U-NI I-2A; <NUM> fundamental channels <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> in U-NI I-2C; and <NUM> channels <NUM>, <NUM>, <NUM>, <NUM> in UNI I-<NUM>.

The following disclosed embodiments present a method to monitor and evaluate WLAN RF environment for the acquisition of VHT channels. In accordance with an illustrated embodiment, reference is now made to <FIG> which is an exemplary and non-limiting diagram illustrating a network architecture to which embodiments are applicable. In the illustrated embodiment of <FIG>, wireless communication system <NUM> can include a network of one or more access points (APs) <NUM> that are configured to communicate with one or more wireless stations (STAs) <NUM>. An AP <NUM> can emit radio signals that carry management information, control information or users' data to one or more wireless stations <NUM>. An STA can also transmit radio signals to an AP in the same frequency channel via time division duplexing (TDD) or in different frequency via frequency division duplexing (FDD). For example, in the illustrated wireless communication system <NUM>, the channel bonding procedure allows for bonding and operating one of the six VHT transmission channels having <NUM> bandwidth.

It is to be understood and appreciated in IEEE <NUM>. 11ac environment, wireless stations (also called stations, e.g., STAs 202a and STAs 202b in <FIG>) associated in the radio coverage area establish a BSS (basic service set) and provide basic service of WLAN. A BSS built around an AP is called an infrastructure BSS. <FIG> illustrates an example of two infrastructure BSSes formed by two APs. The first BSS contains a first AP 204a and a first plurality of STAs 202a. The first AP 204a maintains associations with the STAs 202a. The second BSS contains a second AP 204b and a second plurality of STAs 202b. The second AP 204b maintains associations with the second plurality of STAs 202b. Various STAs <NUM> may support a number of different sizes of channels. For example, the first plurality of STAs 202a and the second plurality of STAs 202b can support VHT channel <NUM> bandwidth reception and transmission.

The APs 204a, 204b may implement an MCS for communicating with one of the STAs <NUM> (i.e., SU mode) or with a plurality of the STAs <NUM> (i.e., MU mode). The MCS may be selected from a set of indexed MCSs. Each MCS (e.g., MCS <NUM> through MCS <NUM>) may have an associated transmission or data rate. Further, each MCS may have an associated packet error rate (PER).

Multiple STAs <NUM> associated with a particular AP through, for example, MU pairing can have the respective capabilities. Depending on the type, purpose, channel conditions, and the like of individual STA <NUM>, bandwidth, MCS, forward error correction (FEC), etc. can be varied.

Advantageously, the wireless communication system <NUM> further includes a WLAN monitoring system <NUM> that is able to monitor wireless local area network signals. In one embodiment, the monitoring system <NUM> comprises a plurality of WLAN signal detectors <NUM>, a monitoring computing device <NUM> communicatively coupled to the plurality of signal detectors <NUM> and a database <NUM> for storing information related to at least WLAN devices capabilities and associations. The monitoring system <NUM> may include any number of signal detector elements <NUM>. Thus, in one embodiment, the detector elements <NUM> may include two or more receive elements (e.g., multiple antennas) for receiving wireless signals over the air interface.

In various embodiments, the monitoring computing device <NUM> may comprise any suitable computing device, such as, but not limited to, a personal computer (PC), laptop computer, smart phone or other computing device having a processor, a memory and a user interface. The monitoring computing device <NUM> is configured to run a software component to monitor channel availability and quality (such as, but not limited to <NUM> VHT transmission channel quality) in the wireless communication system <NUM>. The monitoring computing device <NUM> also communicates with the database <NUM> for logging and accessing various data associated with communications (e.g., channel allocation information). The database <NUM> may be a single database, table, or list, or a combination of databases, tables, or lists. In various embodiments, the database <NUM> can be a standalone database or it can be a component of the monitoring computing device <NUM>.

Turning now to <FIG>, a wireless communication system <NUM> may include an AP <NUM>, such as the AP 204a, 204b described with respect to <FIG>. The AP <NUM> may include a media access control (MAC) layer <NUM>, a physical (PHY) controller <NUM>, a rate controller <NUM> and a network interface <NUM>. The MAC layer <NUM> may include functionality to implement frame aggregation and cause a PPDU frame to be transmitted via the network interface <NUM>.

Conventionally, the rate controller <NUM> may adjust the PHY transmission rate based on channel conditions, such as bit error rate (BER), signal-to-noise ratio, or power limitations. The rate controller <NUM> may select or adjust the MCS used for transmissions. For example, different MCSs may be associated with different data transmission rates. The use of an MCS involves the coding of data into symbols in a modulation scheme. A greater number of symbols may allow for a greater number of bits to be represented by each symbol. Therefore, a higher MCS indicates modulation using greater numbers of bits for each symbol. A higher MCS may be associated with a higher PHY transmission rate because more data may be communicated in each transmission.

The wireless communication system <NUM> may further include the STA <NUM>, such as one of the STAs <NUM> described with respect to <FIG>. The STA <NUM> may include a block acknowledgement (Block ACK) controller <NUM>, PHY/MAC protocols <NUM> and a network interface <NUM>. The network interface <NUM> may be coupled to a communications channel <NUM> for communications between the STA <NUM> and the AP <NUM> via the network interface <NUM>. In one example, the communications channel <NUM> is a WLAN wireless VHT channel configured for IEEE <NUM>. 11ac or other types of WLAN protocols which utilize frame aggregation techniques.

The AP <NUM> may transmit the PPDU frame <NUM> to the STA <NUM> via the communications channel <NUM> using a first MCS. In response, the Block ACK controller <NUM> may generate a BA frame to indicate acknowledgement/non-acknowledgement (ACK/NAK) for a series of PDUs included in the received PPDU frame <NUM>. The BA frame may be transmitted from the STA <NUM> to the AP <NUM> via the communications channel <NUM>.

According to one solution described herein, the rate controller <NUM> may be configured to adjust the MCS (e.g., select a different MCS) based at least in part upon a MAC efficiency determined for the STA <NUM> using the first MCS. The rate controller <NUM>, or another component of the AP <NUM> such as a processor (not shown), may determine the MAC efficiency based at least in part on a real-time MU PPDU length and the first MCS. Thus, the MAC efficiency may be determined using the BA and other information.

<FIG> is a flowchart illustrating a method for monitoring of VHT channel environment in the multi VHT channel WLAN telecommunication system of <FIG>, in accordance with an illustrated embodiment.

Before turning to description of <FIG>, it is noted that the flow diagram in this figure shows an example in which operational steps are carried out in a particular order, as indicated by the lines connecting the blocks, but the various steps shown in this diagram can be performed in any order, or in any combination or subcombination. It should be appreciated that in some embodiments some of the steps described below may be combined into a single step. In some embodiments, one or more additional steps may be performed. As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a method or computer program product. In some embodiments, the method described below may be performed, at least in part, by one or more components of the monitoring system <NUM>, such as, but not limited to, the monitoring computing device <NUM>.

The example embodiments are applicable to devices compatible with VHT protocols of the IEEE <NUM> standards, which are configured to exchange data frames, among other types of frames. At step <NUM>, the monitoring computing device <NUM> obtains captured VHT data frames.

According to certain embodiments, at step <NUM>, the monitoring computing device <NUM> decodes each captured data frame. The L-SIG field <NUM> (shown in <FIG>) includes control information for demodulating and decoding the data field <NUM>. In this step, the monitoring device <NUM> may decode channel and sub-channel allocation information. Sub-channel allocation information indicating sub-channels allocated to respective STAs <NUM> may be included in a preamble part <NUM> of the PPDU <NUM>. Namely, by indicating to which STA <NUM> a data frame of each sub-channel is intended to be transmitted thereafter in the preamble part <NUM>, the STAs <NUM> may check which sub-channel they have been allocated. Thus, thereafter, each STA <NUM> may decode only the corresponding sub-channel portion allocated thereto to acquire data.

As noted above, the VHT-SIG-B field <NUM> includes dedicated control information necessary for a plurality of MIMO paired STAs <NUM> to receive the PPDUs <NUM> to obtain data. Accordingly, only when the control information included in the PPDU <NUM> indicates that the currently received PPDU <NUM> is MU-MIMO transmitted, the monitoring computing device <NUM> may be designed to decode the VHT-SIG-B field <NUM>. On the contrary, in case the control information included in the VHT-SIG-A field <NUM> indicates that the currently received PPDU <NUM> is one for a single STA (including SU-MIMO), the monitoring device <NUM> may be designed not to decode the VHT-SIG-B field <NUM>.

According to an embodiment, multiple STAs <NUM> and APs <NUM> communicating with each other over VHT channels can be grouped by the monitoring device <NUM> into distinct groups based on which channel they have been allocated. The corresponding data frames transmitted over the VHT channels can also be grouped into the same distinct groups. In detail, the grouping of received data frames may be implemented by the monitoring device <NUM> as shown in Table <NUM>:.

Since the monitoring computing device <NUM> also decodes the MCS information for each received data frame, at step <NUM>, the data frames grouped into the six groups as described above can be further categorized by the MCS they use.

Next, at step <NUM>, the monitoring device <NUM> generates quality scores associated with each channel based on the extracted channel allocation information. In one embodiment, the monitoring device <NUM> may maintain a data structure for tracking data frames. The data structure may comprise a two-dimensional array, wherein a first dimension stores channel information and a second dimension stores associated MCS information. For example, with reference to the aforementioned examples, the monitoring device <NUM> may define an array, such as DataFrameArray [channel] [mcs] to count the number of data frames transmitted over the VHT channels for each VHT and each MCS. It should be noted that each channel value ∈ [<NUM>, <NUM>], while each mcs value ∈ [<NUM>, <NUM>].

According to an embodiment, at step <NUM>, the monitoring device <NUM> also assigns a plurality of weighting factors to the acquired MCS information. In one embodiment, these weighting factors are greater than <NUM> and less than or equal to <NUM>. For example, the monitoring device may utilize Table <NUM> below to assign the plurality of weighting factor values to an illustrative array MCSWeight:.

In one embodiment, the monitoring device <NUM> generates the aforementioned quality scores for each of the identified VHT channels based, at least in part, on the extracted channel allocation information and weighting factors stored in the DataFrameArray and MCSWeight array, respectively. In this embodiment, the monitoring device <NUM> applies the following formula (<NUM>) to generate and store a plurality of quality scores in an exemplary ChannelScore [channel] data structure: <MAT> In other words, at step <NUM>, the monitoring device <NUM> assigns a score to each of the six <NUM> VHT channels using formula (<NUM>).

Next, at step <NUM>, the monitoring device <NUM> generates VHT channel rankings based on the scores generated in step <NUM>. In one embodiment, the monitoring device <NUM> sorts the generated quality scores and classifies the available VHT channels into a plurality of groups based upon the generated quality scores. Various types of numerical rating scales can be potentially used to group the channel quality scores, and for this example, a range of (<NUM>, <NUM>] has been chosen to indicate a "good" quality channel and ranges (<NUM>, <NUM>], (<NUM>, <NUM>] and (<NUM>, <NUM>] can be interpreted as "moderate", "poor" and "bad", respectively. This particular rating system provides more information than the numeric quality scores generated in step <NUM>. In one embodiment, one or more predetermined thresholds can set the boundary between rating groups to identify the quality scores that are considered to be similar and those that are considered to be dissimilar. A predetermined threshold can comprise a quantitative value, qualitative value, conditional statement or conditional expression (e.g., if-then construct), and/or mathematical statement (e.g., equality statement, inequality statement) to indicate the actual value and boundary characteristic(s) of the threshold.

According to an embodiment, at step <NUM>, the channel quality information may be optionally reported by the monitoring device <NUM> to a user (e.g., via a user interface) based on the generated channel quality scores and/or based on channel rankings described above. In some embodiments, the monitoring device <NUM> may calculate VHT channel rankings for a particular time interval. The user interface (i.e., Graphical User Interface (GUI)) can include a display output graphically illustrating information received from the monitoring device <NUM>. Examples of displayed information and selected format include: channel quality status for each of <NUM> channels in the WLAN environment displayed in a color-coded format (e.g., a particular color may be interpreted as a particular VHT channel group); present color-coded symbols representing APs <NUM> and/or STAs <NUM> to indicate the RF environment status the represented APs <NUM> or STAs <NUM> are working in using a symbolic graph-like format (i.e., color-coded <FIG>, for example). Furthermore, at step <NUM>, the monitoring device <NUM> may provide one or more suggestions (via the GUI) based on the information calculated in steps <NUM> and <NUM>. For example, the monitoring device <NUM> may suggest which <NUM> channel should be utilized by the APs/STAs to be deployed. In the claimed embodiment, the monitoring device <NUM> suggests which APs can provide a better service to a particular STA.

In view of the above, an example of a system for evaluating available VHT channels in a multi-channel WLAN telecommunication system consistent with certain embodiments includes a network monitoring device capable of evaluating the VHT channels by assigning quality scores to each channel. Although the embodiments described above are directed to a wireless system using six <NUM> VHT channels, this is for exemplary purposes only. The embodiments described above can equally apply to a wireless system having a transmission channel bandwidth of <NUM>, <NUM> or <NUM>, for example. Furthermore, the above description equally applies to contiguous and non-contiguous, such as, but not limited to, <NUM> + <NUM> or <NUM>+<NUM> non-contiguous channels. Further, in such wireless communication system the monitoring device may group the evaluated VHT channels and rank the groups based on the calculated quality scores.

As will be appreciated by one skilled in the art, certain aspects may be embodied as a system, method or computer program product. Accordingly, certain aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system. " Furthermore, certain aspects may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Computer program code for carrying out operations for certain aspects may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN), a wide area network (WAN) or WLAN, or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention.

Embodiments of the network monitoring system may be implemented or executed by one or more computer systems. One such computer system, the monitoring computing device <NUM> is illustrated in <FIG>. In various embodiments, network monitoring system <NUM> may be a server, a distributed computer system, a workstation, a network computer, a desktop computer, a laptop, a tablet, a wireless device or the like.

The monitoring computing device <NUM> is only one example of a suitable system and is not intended to suggest any limitation as to the scope of use or functionality of any embodiment described herein. Regardless, the monitoring computing device <NUM> is capable of being implemented and/or performing any of the functionality set forth hereinabove.

The monitoring computing device <NUM> is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the network monitoring system <NUM> include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed data processing environments that include any of the above systems or devices, and the like.

The components of the monitoring computing device <NUM> may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. The monitoring computing device <NUM> may be practiced in distributed data processing environments where tasks are performed by processing devices that are linked through a communications network. In a distributed data processing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

The monitoring computing device <NUM> is shown in <FIG> in the form of a general-purpose computing device. The components of the monitoring computing device <NUM> may include, but are not limited to, one or more processors or processing units <NUM>, a system memory <NUM>, and a bus <NUM> that couples various system components including the system memory <NUM> to the processor <NUM>.

The bus <NUM> represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.

The monitoring computing device <NUM> typically includes a variety of computer system readable media. Such media may be any available media that is accessible by the monitoring computing device <NUM>, and it includes both volatile and non-volatile media, removable and non-removable media.

The system memory <NUM> can include computer system readable media in the form of volatile memory, such as a random access memory (RAM) <NUM> and/or a cache memory <NUM>. The monitoring computing device <NUM> may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, a storage system <NUM> can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to the bus <NUM> by one or more data media interfaces. As will be further depicted and described below, the memory <NUM> may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of certain embodiments.

Program/utility <NUM>, having a set (at least one) of program modules <NUM> may be stored in the memory <NUM> by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules generally carry out the functions and/or methodologies of certain embodiments as described herein.

The monitoring computing device <NUM> may also communicate with one or more external devices <NUM> such as a keyboard, a pointing device, a display, etc.; one or more devices that enable a user to interact with the monitoring computing device <NUM>; and/or any devices (e.g., network card, modem, etc.) that enable the monitoring computing device <NUM> to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces <NUM>. Still yet, the monitoring computing device <NUM> can communicate with one or more networks such as a LAN, a WAN, a WLAN and/or a public network (e.g., the Internet) via a network adapter <NUM>. As depicted, the network adapter <NUM> communicates with the other components of monitoring computing device <NUM> via the bus <NUM>. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with the monitoring computing device <NUM>. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc..

Claim 1:
A system (<NUM>) for evaluating available channels in a multi-channel WLAN telecommunication system, the system comprising:
a wireless access point, AP, (204a, 204b) configured to provide communication with a mobile station over a plurality of Very High Throughput, VHT, channels, wherein the VHT channels have a bandwidth of <NUM>, <NUM>, <NUM> or <NUM>;
a plurality of mobile stations, STAs, (202a, 202b) operating in the plurality of VHT channels; and
a network monitoring device (<NUM>, <NUM>) configured to communicatively couple to the WLAN telecommunication system, wherein the network monitoring device is configured and operable to:
capture (<NUM>) a plurality of VHT data frames exchanged between the wireless AP and the plurality of STAs;
decode (<NUM>) at least a portion of each of the captured plurality of VHT data frames to identify a utilized VHT channel and extract channel allocation information associated with the identified VHT channel;
generate (<NUM>) a quality score for the identified VHT channel based on the extracted channel allocation information; and
suggest, based on the quality score, one or more APs of a plurality of APs with a better service to a particular STA of the plurality of STAs.