This disclosure relates to the selection of a channel for use in wireless communication between an access point and a client device in a LAN.
It is known that noise can negatively affect signals transmitted between an access point and a client device. Contention from neighboring access points can also negatively affect those signals. It is also known that the extent of the negative effect can depend on frequency. It is therefore desirable to choose a communication frequency (i.e. a communication channel) which performs best in terms of noise and contention. Known attempts to achieve this include performing a brief test of the performance of the available channels and selecting the best performing channel. It is desirable to provide an improved method of channel selection.
According to a first aspect of the disclosure there is defined a method of selecting a channel for wireless communication between an access point and a client device in a WLAN, the method comprising obtaining a first performance measurement from a first channel during a first interval, obtaining a second performance measurement from a second channel during a second interval, the first interval being temporally separated from the second interval by a predetermined period which is greater than or equal to one second, and selecting a communication channel for use taking the first and second performance measurements into account.
The inventors have realized that the noise and/or contention experienced by a channel can vary according to a pattern which cycles with a known period e.g. one week. The present disclosure enables a method to be performed which determines the best performing channel for each of the component segments of the period and uses that channel as the operating channel for that segment.
The first and second intervals may correspond to the same time slot in a repeating cycle. A “time slot” in this context is a segment of the repeating cycle. The duration of the repeating cycle may be the predetermined period. By the first and second intervals corresponding to the same time slot in a repeating cycle, it is meant that the first interval occurs during a first iteration of a cycle and the second interval occurs at the same point in a subsequent iteration of the cycle.
The start of the first interval may be temporally separated from the start of the second interval by the predetermined period. The end of the first interval may be temporally separated from the end of the second interval by the predetermined period. The predetermined period may be longer than the first and/or second intervals.
The method may further comprise making a plurality of first and/or second performance measurements during the first and/or second interval respectively. The plurality of first and/or second performance measurements may be made at a constant frequency during the first and/or second interval and may be made throughout the first and/or second interval. The frequency at which the first and/or second performance measurements are made may be greater than two per minute.
The first and/or second performance measurements may include one or more measurements of the noise on the channel. Noise on the channel may include interference from sources including but not limited to microwave ovens and analogue TV senders. The first and/or second performance measurements may include one or more measurements of the contention level on the channel. The contention level may be a measure of the amount of contending neighboring Wi-Fi traffic that is operating on the channel. The method may further include measuring the proportion of the first and/or second intervals for which data is sent from and/or received by the access point. Selecting a communication channel for use during the time slot the proportion of the first and/or second intervals for which data is sent from and/or received by the access point into account.
The duration of the first and/or second interval may be less than one day and may be between 30 minutes and two hours inclusive and in one embodiment is one hour.
The method may be performed at the access point. The duration of the predetermined period may be one hour and may be one day and is preferably seven days. Alternatively, the predetermined period may be one month or one year.
The method may further comprise obtaining a further first performance measurement from the first channel during a further first interval, obtaining a further second performance measurement from the second channel during a further second interval, the further first interval being temporally separated from the further second interval by the predetermined period, the first and second intervals corresponding to the same time slot in a repeating cycle, the duration of the cycle being the predetermined period, and selecting a communication channel for use during the time slot taking the further first and further second performance measurements into account. The further first and further second intervals may correspond to a different time slot in the repeating cycle than the first and second interval do.
There may be a plurality for further first intervals and a corresponding plurality of further second intervals. The plurality of further first intervals may run contiguously and may run for the full duration of the predetermined period. The plurality of further second intervals may run contiguously and may run for the full duration of the predetermined period.
The method may be performed upon subsequent channels. In such embodiments the method further comprises obtaining a subsequent performance measurement from a subsequent channel during a subsequent interval, the subsequent interval being temporally separated from the second interval by a multiple of the predetermined period, the second and subsequent intervals corresponding to the same time slot in a repeating cycle, the duration of the cycle being the predetermined period, and selecting a communication channel for use during the time slot taking the first, second and subsequent performance measurements into account. The first, second and subsequent intervals may all correspond to the same time slot in the repeating cycle.
The method may further comprise transmitting data between the access point and the client during some or all of the first and/or second and/or subsequent intervals.
The method may further comprise recording the performance measurements. The performance measurements may be recorded in a data store. The performance measurements may be averaged before being recorded. The performance measurements may be averaged over a sub interval of the first interval. The sub interval may have a duration of one minute.
Selecting a communication channel for use during a time slot may comprise determining a ranking score for each channel in respect of the time slot. The ranking score may depend on the performance of the channel. The selecting may comprise selecting the channel with best ranking score. The best ranking score may be the highest ranking score. Determining a ranking score may be done by an algorithm which may be a dynamic programming algorithm.
The lower the value of the one or more performance measurements made on a channel in a given interval, the higher the ranking score for the channel may be in respect of the corresponding time slot. The smaller the number of performance measurements made on a given channel in a given interval the larger the ranking score for that channel in respect of the corresponding time slot may be. The more recently a performance measurement on a given channel during a given interval was made, the lower the ranking score. The ranking may be recorded.
The method may include determining a performance score which may depend on the one or more performance measurements and may depend on the proportion of the first and/or second intervals for which data is sent from and/or received by the access point. The smaller the proportion of the first and/or second intervals for which data is sent from and/or received by the access point, the lower the performance score may be.
The ranking score for a given channel may depend on the channel that is the working channel immediately before the time slot begins. If the working channel immediately before the time slot begins is different to the given channel, a reduction may be applied to the ranking score of the given channel. The size of the reduction may depend on the length of time the working channel has been the working channel. The longer the working channel has been the working channel, the smaller the reduction may be. The amount of data traffic on the working channel at the start of a time slot may cause a reduction to be applied to the ranking score. The larger the amount of data traffic on the working channel at the start of the time slot, the larger the reduction that may be applied to the ranking score is. The ranking score may take into account the amount of data traffic that is known from prior measurements to flow between the access point and the client at the start of a given timeslot. In particular, the larger the amount of data traffic that is known from prior measurements to flow between the access point and the client at the start of a given timeslot, the lower the ranking score of channels that are not the current working channel.
The method may further comprise, for some or preferably all of a given time slot, using the highest-ranked channel as the working channel of the access point, i.e. using the highest-ranked channel as the channel upon which data is transmitted from and/or received by the access point. If, during a time slot, the performance score of the working channel falls below a usability threshold, the highest-ranked channel may be replaced as the working channel by the next highest-ranked channel.
According to a second aspect of the disclosure there is defined an access point adapted for communication with a client device in a LAN, the access point comprising a data collector adapted to collect a first performance measurement from a first channel during a first interval, the data collector being further adapted to collect a second performance measurement from a second channel during a second interval, the first interval being temporally separated from the second interval by a predetermined period which is greater than or equal to one second, the first and second intervals corresponding to the same time slot in a repeating cycle, the duration of the cycle being the predetermined period and a channel selector adapted to select a communication channel for use during the time slot taking the first and second performance measurements into account.
The access point is further adapted to carry out the method defined in accordance with the first aspect of the disclosure.
According to a third aspect of the disclosure there is defined a method of selecting a channel for communication between an access point and a client device in a WLAN, the method comprising: obtaining first and third performance measurements from a first channel, obtaining second and fourth performance measurements from a second channel, determining a first working channel taking the first and second performance measurements into account, determining a second working channel taking the third and fourth performance measurements into account, and, subsequently to the preceding, using the determined first working channel as the working channel of the access point and using the determined second working channel as the working channel of the access point.
The first performance measurement may be obtained from the first channel during a first interval. The second performance measurement may be obtained from the second channel during the second interval. The first interval may be temporally separated from the second interval by a predetermined period which is greater than or equal to one second. The first and second intervals corresponding to the same time slot in a repeating cycle. The duration of the repeating cycle may be the predetermined period.
The features defined in relation to the first and second aspects of the disclosure also apply to the third aspect of the disclosure.
A example embodiment of the disclosure will now be described, for illustration only, with reference to the appended drawings, in which
The access point 2 sends data to and receives data from the client 3 using a particular channel for a period of one week. At the end of the week, the access point 2 switches to a new channel and continues sending data to and receiving data from the client 3 using the new channel, also for a week. This process repeats, with the access point switching to a new channel of operation each week in accordance with a channel plan. The channel plan may change over time and is shown in its initial form in
As can be seen, in the presently described embodiment there are three possible channels upon which the access point 2 can send and receive data. These channels are indicated in the channel plan shown at
The next step is to produce an optimized version of the channel plan of
The noise level collector measures the noise level on the working channel multiple times each minute and then calculates the average noise level for that minute. That calculated average noise level is then recorded in a readings table (such as that shown at
Similarly the contention level collector measures the contention level on the working channel multiple times each minute and then calculates the average contention level for that minute. That calculated average contention level is then recorded in a measurements table (such as that shown at
Similarly, the “own utilization” level, i.e. the proportion of each minute that the access point is sending or receiving data is measured and recorded. For example, the first line of the measurements table of
The averaged noise and contention levels from the measurements table are used to calculate a performance score for the working channel in respect of each hour. These calculated performance scores are entered in a performance table such as that shown in
If, at any point, the performance score rises above a usability threshold, this indicates that the noise and/or contention level on the channel is so high that the channel is effectively unusable. In such a situation, the working channel switches immediately to the next highest ranked channel in the channel plan of
The performance table also contains a column entitled “quality score”. Each performance score in the performance table has an associated quality score. The quality score is a measure of the quality of its associated performance score. A purpose of the quality score is to bias the system towards using as the working channel, channels for which fewer performance measurements have been made, or for which few performance measurements have recently been made. Therefore, the more measurements of the noise and contention level have been entered in the measurements table in respect of the hour in question, the higher the quality score. Moreover, the more recently any noise and contention measurements were made, the higher the quality score.
As mentioned above, channel 1 is the working channel for the first week of operation, channel 6 is the working channel for the second week of operation and channel 11 is the working channel for the third week of operation. During the second and third weeks, the process described above of obtaining and recording noise and contention levels and calculating performance and quality scores is performed for channel 6 and channel 11 in the same way it was for channel 1 in the first week.
If, at any point, the level of data traffic on the working channel is above an idle threshold, this indicates that there is significant data traffic on the channel. Changing channel at such a time would interrupt significant data flow and so is undesirable. Therefore, if at the time that the channel plan indicates that a channel change is due, the level of data traffic on the working channel is above the idle threshold, the channel change is delayed until the level of data traffic falls below the idle threshold.
The method includes ranking the channels in order of preference in respect of each hour-long time slot of the week. In other words, for each hour-long time slot of a generic week, each channel is given a ranking of either 1, 2 or 3. To do this, a ranking score is determined for each channel. The ranking scores are then compared in order to rank the channels in respect of each hour-long timeslot. The channel with the highest ranking score is ranked highest. The ranking score for a given channel is determined using the following factors relating to that channel:
If using the channel as the working channel would involve changing the working channel at a time when the level of data traffic on the working channel is above an idle threshold, the channel change penalty is increased. The recorded “own utilization” level is used to determine the level of data traffic.
The rankings are determined using a dynamic programming algorithm.
The rankings are used to update the initial channel plan of
If the performance score associated with a particular channel is less than a usability threshold, this indicates that the noise and/or contention level on the channel is so high that the channel is effectively unusable. In such a case, the working channel switches to the 2nd ranked channel for that timeslot for the remainder of the timeslot, and recalculates the future channel plan in the light of that change.
Furthermore, as previously, if at the time that the channel plan indicates that a channel change is due the level of data traffic on the working channel is above the idle threshold, the channel change is delayed until the level of data traffic falls below the idle threshold.
| Number | Date | Country | Kind |
|---|---|---|---|
| 18165202.5 | Mar 2018 | EP | regional |
The present application is a National Phase entry of PCT Application No. PCT/EP2019/057375, filed Mar. 25, 2019, which claims priority from EP Patent Application No. 18165202.5, filed Mar. 29, 2018, each of which is hereby fully incorporated herein by reference.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/EP2019/057375 | 3/25/2019 | WO | 00 |