Systems and methods for dynamically adjusting scan algorithms
View Patent ↗A method for dynamically adjusting a scan pattern and electronic device to perform the same. The method includes obtaining a data packet of a communication session on a first communication channel. The method further includes analyzing the data packet to determine a priority associated with the communication session and determining that the priority associated with the communication session exceeds a threshold. In response to the determination, the method includes adjusting one or more parameters of a scan algorithm implemented by a wireless driver. The method further includes determining that a signal quality for the first communication channel is below the threshold quality level and executing the scan algorithm in accordance with the adjusted one or more parameters.
1. A method of dynamically adjusting a scan algorithm, the method comprising:
obtaining, at an electronic device, a data packet of a communication session on a first communication channel;
analyzing, via one or more processors of the electronic device, the data packet to determine a priority level associated with the communication session;
determining, via the one or more processors, that the priority level associated with the communication session exceeds a threshold priority level;
in response to the determination of the priority level, adjusting, via the one or more processors, one or more parameters of the scan algorithm when a signal quality for a first communication channel drops below a threshold quality level, wherein the scan algorithm includes (i) an off-channel scan period during which the electronic device analyzes a channel quality for one or more communication channels other than the first communication channel, and (ii) an on-channel period for supporting the communication session on the first communication channel;
determining, via the one or more processors, that a signal quality for the first communication channel is below the threshold quality level; and
executing, via the one or more processors, the scan algorithm in accordance with the adjusted one or more parameters.
2. The method of claim 1 , wherein determining the priority level associated with the communication session comprises:
analyzing, via the one or more processors, one of a quality of service (QoS) parameter, a class of service (CoS) parameter, or a differentiated services code point (DSCP) parameter indicated by the data packet.
3. The method of claim 1 , wherein determining the priority level associated with the communication session comprises:
analyzing, via the one or more processors, a source of the data packet, wherein the source is one of an origination address or an origination port.
4. The method of claim 1 , wherein determining the priority level associated with the communication session comprises:
analyzing, via the one or more processors, a tag associated with the data packet by the electronic device.
5. The method of claim 1 , wherein determining that the priority level associated with the communication session exceeds the threshold priority level comprises:
determining, via the one or more processors, that the communication session is one of a voice over internet protocol (VOIP) communication session or a streaming video communication session.
6. The method of claim 1 , wherein adjusting the one or more parameters of the scan algorithm comprises:
reducing, via the one or more processors, a number of channels scanned during the off-channel scan period.
7. The method of claim 1 , wherein adjusting the one or more parameters of the scan algorithm comprises:
reducing, via the one or more processors, at least one of a duration of the off-channel scan period or a maximum dwell time per channel scanned during the off-channel scan period.
8. The method of claim 1 , wherein adjusting the one or more parameters of the scan algorithm comprises:
sending, via the one or more processors, an instruction in accordance with an application programming interface (API) of a wireless driver of the electronic device to adjust the one or more parameters.
9. The method of claim 1 , further comprising:
detecting, via the one or more processors, that the communication session has terminated; and
reverting, via the one or more processors, the one or more parameters of the scan algorithm back to respective unadjusted values.
10. The method of claim 1 , wherein:
the first communication channel is Wi-Fi communication channel, and
the scan algorithm includes a first portion associated with scanning dynamic frequency selection (DFS) channels and a second portion associated with scanning non-DFS channels.
11. The method of claim 10 , wherein adjusting the one or more parameters of the scan algorithm comprises:
adjusting, via the one or more processors, a first one or more parameters that correspond to the first portion of the scanning algorithm to a first set of values; and
adjusting, via the one or more processors, a second one or more parameters that correspond to the second portion of the scanning algorithm to a second set of values.
12. The method of claim 1 , wherein adjusting the one or more parameters of the scan algorithm comprises:
setting, via the one or more processors, a flag at the wireless driver to indicate that the electronic device is engaged in a prioritized communication session.
13. An electronic device comprising:
a transceiver configured to be tuned to a first channel during a communication session;
a scanning processor operatively connected to the transceiver and configured to implement a scan algorithm when a channel quality for the first channel drops below a threshold quality level, the scan algorithm including (i) an off-channel scan period during which the electronic device tunes the transceiver to detect a channel quality for one or more communication channels other than the first channel, and (ii) an on-channel period during which the wireless driver tunes the transceiver to the first channel, wherein the scanning processor is configured to:
obtain a data packet associated with the communication session and received by the transceiver;
analyze the data packet to determine a priority level associated with the communication session;
determine that the priority level associated with the communication session exceeds a threshold priority level;
in response to the determination, adjust one or more parameters of the scan algorithm;
determine that a signal quality for the first channel is below the threshold quality level; and
execute the scan algorithm in accordance with the adjusted one or more parameters.
14. The electronic device of claim 13 , wherein to determine the priority level associated with the communication session, the scanning processor is further configured to:
analyze one of a quality of service (QoS) parameter, a class of service (CoS) parameter, or a differentiated services code point (DSCP) parameter indicated by the data packet.
15. The electronic device of claim 13 , wherein to determine the priority level associated with the communication session, the scanning processor is further configured to:
analyze a source of the data packet, wherein the source is one of an origination address or an origination port.
16. The electronic device of claim 13 , wherein to determine the priority level associated with the communication session, the scanning processor is further configured to:
analyze a tag associated with the data packet.
17. The electronic device of claim 13 , wherein to adjust the one or more parameters of the scan algorithm, the scanning processor is further configured to:
reduce a number of channels scanned during the off-channel scan period.
18. The electronic device of claim 13 , wherein to adjust the one or more parameters of the scan algorithm, the scanning processor is further configured to:
reduce at least one of a duration of the off-channel scan period or a maximum dwell time per channel scanned during the off-channel scan period.
19. The electronic device of claim 13 , wherein to adjust the one or more parameters of the scan algorithm, the scanning processor is further configured to:
send an instruction in accordance with an application programming interface (API) a the wireless driver of the electronic device to adjust the one or more parameters.
20. The electronic device of claim 13 , wherein the scanning processor is further configured to:
detect that the communication session has terminated; and
revert the one or more parameters of the scan algorithm back to respective unadjusted values.
21. The electronic device of claim 13 , wherein:
the first communication channel is Wi-Fi communication channel, and
the scan algorithm implemented includes a first portion associated with scanning dynamic frequency selection (DFS) channels and a second portion associated with scanning non-DFS channels.
22. The electronic device of claim 21 , wherein the scanning processor is further configured to:
adjust a first one or more parameters that correspond to the first portion of the scanning algorithm to a first set of values; and
adjust a second one or more parameters that correspond to the second portion of the scanning algorithm to a second set of values.
23. The electronic device 13 , wherein to adjust the one or more parameters of the scan algorithm, the scanning processor is further configured to:
set a flag to indicate that the electronic device is engaged in a prioritized communication session.