METHOD AND SYSTEM FOR ENHANCED STEERING AND TRAFFIC LOAD BALANCING IN WIRELESS MESH NETWORKS
20220377594 · 2022-11-24
Inventors
- Paulo José HENRIQUES DE JESUS (Aveiro, PT)
- Nelson José VALENTE DA SILVA (Aveiro, PT)
- João Luís CARVALHO FERREIRA RIBEIRO (Viseu, PT)
- João Pedro FERREIRA E PEREIRA (Gafanha da Nazaré, PT)
- Nuno Miguel ABREU LUÍS (Lisboa, PT)
- Susana Isabel BARRETO DE MIRANDA SARGENTO (Ílhavo, PT)
Cpc classification
H04W40/22
ELECTRICITY
H04W28/021
ELECTRICITY
International classification
Abstract
The present invention provides a method and system for managing the connections of multiple stations in a Wi-Fi mesh network, using station steering to optimize the overall throughput of the network.
The stations are proactively steered depending on the link quality, the network topology and wireless medium occupation, as well as the different equipment capabilities, to ultimately provide the best available throughput.
This invention also aims to detect crowded Access Points or frequency bands, and steer stations accordingly towards an efficient load control and traffic management between nodes/Access Points and improved quality of experience.
Claims
1. Method for enhanced steering and traffic load balancing in wireless mesh networks, comprising the following steps: vi. Root AP instructs periodically, the Extenders AP to report STAs' message status; vii. Root AP wait for a predefined period of time until the requested messages status are received; viii. Root AP kept a score history of all the STAs' message status received from the Extenders AP and updates it as the message status are being received; ix. Root AP uses the updated score history of the STAs connected to the Extenders AP as an input to a Link Optimization routine and to a Load Balance routine, in order to decide which action is to be taken; x. the steps i. to iv. are executed in a continuous loop until instructions otherwise from the Root AP.
2. Method according to claim 1, wherein the message status send by the Extenders AP to the Root AP includes metrics related to the connected STAs or the status of the wireless medium in which the Root AP is located.
3. Method according to claim 1, wherein the Link Optimization routine is programmed to execute a link optimization process comprising the following steps: v. Calculate the current score of a link; the score being classified by the maximum throughput that a given STA would have via a given access point and band; vi. Calculate target scores for every pair of {STA, fronthaul Basic Service Set}; vii. Evaluate if the highest score of a STA to a target AP is higher than the score of the STA to the current AP, and if so, evaluate if the throughput gain is better than in previous cases; viii. Check if there is any steer required, following the step iii., and if required, a steer is requested for the pair {STA, target Basic Service Set}.
4. Method according to claim 3, wherein the maximum throughput is estimated considering: signal strength; maximum backhaul physical data rate; and estimation of maximum theoretical physical data rate according to a STA and AP's capabilities; wherein, the estimation of maximum theoretical physical data rate is as follows:
5. Method according to claim 1, wherein the Link Optimization routine is further programmed to detect weak STAs based on the STA's metrics contained in the message status; said detection being based on the. RSSI of the STA's link.
6. Method according to claim 5, wherein weak STA's links are flagged and are handled by a Monitor Entity of the Link Optimization routine; said Monitor Entity being configured to: to request the associated STA metrics for weak STAs in a higher frequency in relation to the requests of the base algorithm routine; based on those requests, update the score history; perform a link optimization assessment to evaluate if the weak STA is no longer weak; if so, the weak flag is removed.
7. Method according to claim 5, wherein weak STAs are not considered by the Load Balance routine.
8. Method according to claim 1, wherein the Load Balance routine is programmed to execute a load balance process comprised by two sequential stages: iii. Saturated STA detection stage, by assessing if the STA is unable to achieve more throughput because the medium is overloaded; iv. Throughput prediction stage, executed if saturated STAs are identified, and where a prediction score is computed for each potential target. AP.
9. Method according to claim 8, wherein the saturated STA detection stage is executed for all connected STAs' links and comprises the following steps: v. Determine the amount of times a STA is classified as saturated within a time frame; vi. Evaluate the saturation level to check whether or not a STA is saturated; vii. If the STA is saturated it is marked as saturated.
10. Method according to claim 9, wherein the evaluation of the saturation level takes into account inputs including metrics from the STA under evaluation, such as Airtime, transmission opportunity, retransmission rate, physical data rate, data rate, transmission failures, number of hops to Root AP and band; and metrics from other STAs in the network, such as Airtime and data rate; in order to determine: The available airtime; The percentage of maximum airtime; and The percentage of total data rate, which are the inputs of a classification tree with two classes: saturated or not saturated STAs.
11. Method according to claim 8, wherein the throughput prediction stage comprises the following steps: iv. Monitorization of saturated STAs for a specified amount of time, during which all the relevant metrics corresponding to the STAs under evaluation are stored; v. Once the monitoring phase has expired, a target score is calculated for all available Aps, followed by a subsequent 2-step evaluation: a. Check if the highest score of a saturated STA to a target AP is higher than the score of the STA to the current STA's throughput, measured during the monitoring phase; b. Evaluate if the throughput gain is better than in previous cases where the condition of step a, was true; vi. Check if there is any steer required; if required, a steer is requested for the pair {STA, target AP} where the throughput gain is the highest.
12. Method according to claim 4, wherein estimation of the highest score of a saturated STA combines the estimation of the maximum throughput, of the link optimization routine, with metrics that characterize the medium occupation such as transmission opportunity, available airtime and retransmission rate.
13. Method according to claim 1 wherein the Root AP comprises a Steer Manager entity adapted to steering STAs and managing the hierarchy between Link Optimization and Load Balance routines' actions and steer requests, according to the priorities as follows: iv. Weak STA optimization; v. Load balance; vi. Regular STA optimization.
14. Method according to claim 13, wherein the Steer Manager is further configured to allow or deny the Link Optimization and Load Balance routines' actions on a particular STA based on the respective STA's previous behaviour.
15. Method according to claim 13, wherein the Steer Manager maintains a queue of steer requests; for each request, a steering state is assigned accordingly such as: Pending: request on queue to be sent; Processing: request has been sent, waiting for reply; Success: STA has been steered; Failed: STA has not responded or has rejected the steer request.
16. Method according to claim 13, wherein the Steering Manager is configured to execute procedure for managing steering requests, such requests being generated in the Link Optimization or in the Load Balance routines; said procedure comprising the following steps: iv. Checking if there is not current time penalty on the STA, and if so, the request is rejected; v. If there is no time penalty on the STA, it is checked if there are no conflicting requests; vi. If there is a conflicting request, meaning that there is a similar request with the same STA, same source Basic service set and same target Basic service set, the new request is rejected if the old request with equal or higher priority in a pending or processing state exist; if said old request has a lower priority, the new request is rejected if the old request is in the processing state; if the old request is in pending state, the old request is deleted and the new request is accepted.
17. Method according to claim 13, wherein if the STA does not respond to the steer request as expected, the Steering Manager is configured to mark such STA as ‘misbehaved’ for a predefined period of time, according to a following steer type; Basic service set steer; Legacy steer, which is a steer by deauthentication of STA from current Basic service set, and blacklisted by MAC address in every Basic service set that is not source or destination Basic service set.
18. Method according to claim 17, wherein the steer response to a steer request is classified as one of the following: Accept, if the STA is steered and reports a successful steer; Reject, if the STA is not steered and reports a rejected steer; Wrong Basic Service Set joined, if the STA joins a Basic Service Set different from the target Basic Service Set; Disconnect, if the STA does not reconnect after a legacy blacklist; Jump back, if the STA is steered to the target Basic Service Set but soon returns to the source Basic Service Set; Timeout, if no response is obtained for the steer request.
19. System for enhanced steering and traffic load balancing in wireless mesh networks comprising: A Root AP At least one Extender AP; wherein, The Root AP comprises a controller comprising processing means configured to execute the method of claim 1 and to act as a master; The Extender AP comprises at least one agent entity configured to act a slave and to exchange information with the controller.
Description
DESCRIPTION OF FIGURES
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
DETAILED DESCRIPTION
[0016] The present invention provides a method and system for managing the connections of multiple STAs in a Wi-Fi mesh network, using STA steering to optimize the overall throughput of the network. The STAs are proactively steered depending on the, link quality, the network topology and wireless medium occupation, as well as the different equipment capabilities, to ultimately provide the best available throughput. This invention also aims to detect crowded APs or frequency bands, and steer STAs accordingly towards an efficient load control and traffic management between APs and improved quality of experience.
[0017]
Base Algorithm Routine
[0018]
[0019] The Root AP will then use the values computed in S104 to decide which action can and should be taken regarding Link Optimization (S105) and Load Balance (S106) processes.
Link Optimization Assessment
[0020]
[0023] In step S206, the link optimization routine S200 checks if there is any steer required, following the evaluation in step S205. If required, a steer is requested for the pair {STA, target BSS}with the highest score. The link optimization assessment ends in step S208.
[0024] To estimate the maximum throughput that a STA will achieve when connected to a different AP, the following inputs are used: [0025] i. Signal Strength; [0026] ii. Maximum backhaul physical data rate; [0027] iii. Estimation of maximum theoretical physical data rate according to the STA and AP's capabilities.
[0028] The estimation of maximum theoretical physical data rate uses the following formula:
where E.sub.phy represents the estimation, s represents the STA, b.sub.t represents the target BSS, M.sub.phy(s, b.sub.t) represents the maximum theoretical physical data rate that can be obtained on the link between the STA s and the target BSS b.sub.t, according to each other's capabilities. H(b.sub.t) represents the distance of the AP that advertises the 855 in relation to the Root AP, in hops. I.sub.FH(b.sub.t)refers to the interface that is used to advertise the target BSS (fronthaul), I.sub.BH(b.sub.t) represents the interface used for backhaul communications. This model is valid for equipment with a shared radio interface for fronthaul and backhaul communications. These inputs are combined and define a curve through a fitting function, which results in a formula that is capable of estimating the maximum throughput that a STA will be able to achieve when connected to a set AP, in the described conditions.
[0029] The Link Optimization routine is also programmed to detect weak STAs (S700) by means of the process described in
[0030] Weak STAs rely on the Link Optimization routine to maintain connectivity. In order for the Link Optimization process to provide a faster response to the weak STAs' fading link, the Link Optimization routine score computing (S704) and assessment (S705) is performed when the STAs' metrics are received.
[0031] To provide a quicker response, weak STAs' metric requests are not handled by the base algorithm routine (S103) as regular STAs are; instead a separate entity, named Monitor Entity, is responsible for requesting metrics for these associated STAs, in a higher frequency in relation to the base algorithm routine.
[0032] Weak STAs are only subject to the Link Optimization routine and the Load balance routine will not act or consider them.
Load Balance Assessment
[0033] The load balance routine is comprised of two different subprocesses: [0034] I. Saturated STA detection: [0035] A STA is considered saturated if it is unable to achieve more throughput because the medium is overloaded; [0036] II. Throughput prediction: [0037] If a saturated STA is identified, a prediction score (i.e, throughput) is computed for each potential target AP.
Saturated STA Detection
[0038] This subprocess is depicted on
[0039] The detection itself takes into account a wide range of inputs, which not only includes metrics from the STA under evaluation, but also from other STAs in the network.
[0040] From the STA under evaluation: [0041] I. Airtime [0042] II. Transmission opportunity [0043] III. Retransmission rate [0044] IV. Physical data rate [0045] V. Data rate [0046] VI. Transmission failures [0047] VII. Number of hops to Root AP [0048] VIII. Band (2.4 GHz or 5 GHz)
[0049] From other STAs connected to the same AP: [0050] Airtime [0051] Data rate
[0052] Using all this information, some of these metrics are combined to derive the following: [0053] Available airtime [0054] Percentage of maximum airtime [0055] Percentage of total data rate
[0056] The decision is accomplished using a classification tree with two classes: saturated or not saturated STAs. This is modelled in a conservative manner, as it is tuned to reduce false positives in detriment of true positives. The outcome of this approach is a slower identification of overloaded STAs, but also a more trustworthy overall classification.
Throughput Prediction
[0057]
[0060] In step S406, the process S400 checks if there is any steer required, following the evaluation in step S405. If required, a steer is requested for the pair of STA and target AP where the throughput gain is the highest. The link optimization routine then ends its execution in step S407.
[0061] This process combines the estimation of the maximum throughput from the link optimization process S200 with metrics that characterize the medium occupation.
[0062] As such, the considered inputs are as follows: [0063] I. Link optimization score (estimated maximum throughput); [0064] II. Transmission opportunity; [0065] III. Available airtime; [0066] III. Retransmission rate;
[0067] In order to manage the steering of STA devices and also the hierarchy between Link Optimization and Load Balance routines' actions and steer requests, the Root AP comprises a Steer Manager entity. Such entity acts base on the current priorities: [0068] 1. Weak STA optimization [0069] 2. Load balance [0070] 3. Regular STA optimization
[0071] This entity is also responsible for allowing or denying the Link Optimization and Load Balance modules' actions on a particular STA, based on the STA's previous behaviour.
[0072] To perform these tasks, the Steer Manager entity maintains a queue of steer requests. For each request, a state is assigned accordingly. The following table describes these states:
TABLE-US-00001 Steer state Description pending request on queue to be sent processing request has been sent, waiting for reply success STA has been steered failed STA has not responded or has rejected the steer request
[0073] In
[0074] After the request is received, the Steer Manager checks if there is no current time penalty on the STA (S502). If a time penalty is in effect, the request will be rejected (S504). Otherwise, the Steer Manager will check if there are no conflicting requests (S503).
[0075] A new request will be rejected if an old similar request (same STA, same source BSS, same target BSS) with equal or higher priority in a pending or processing state exists. If the old request, as described previously, with a lower priority exists, the new request will be rejected if the old request is in the processing state (S504). If the old request is in the pending state, the old request will be deleted and the new request will be accepted (S505).
[0076] If a STA did not respond as expected to a steer request, this STA will be marked as misbehaved, for a predefined period of time. The steering type can be classified as: [0077] BSS transition steer (IEEE 802.11v). [0078] Legacy Steer by deauthentication of client from current BSS, and blacklisted by MAC address in every BSS that is not source or destination BSS.
[0079] Following a steer request, the behaviour or the STA device is not completely deterministic and in some cases, it can have an unexpected behaviour. To prevent unnecessary disconnects, every steer response is classified as one of the following: [0080] Accept: The STA is steered and reports a successful steer; [0081] Reject: The STA is not steered and reports a rejected steer; [0082] Wrong BSS joined: The STA joins a BSS different from the target BSS; [0083] Disconnect: The STA does not reconnect after a legacy blacklist; [0084] Jump back: The STA is steered to the target BSS but soon returns to the source BSS; [0085] Timeout: No response obtained for the steer request (the Extender has not carried out the order or IEEE 802.11v reject).
[0086] Using the steer response classification above, penalties are given accordingly:
TABLE-US-00002 Conditions Penalty Steer timeout low Accept low Reject mid Random BSS mid Disconnect high
DESCRIPTION OF THE EMBODIMENTS
[0087] The more general and advantageous configurations of the present invention are described in the Summary of the invention. Such configurations are detailed below in accordance with other advantageous and/or preferred embodiments of implementation of the present invention.
[0088] In a preferred embodiment of the method for enhanced steering and traffic load balancing in wireless mesh networks of the invention, it is comprised by the following steps: [0089] i. Root AP instructs periodically, the Extenders AP to report STAs' message status; [0090] ii. Root AP wait for a predefined period of time until the requested messages status are received; [0091] iii. Root AP kept a score history of all the STAs' message status received from the Extenders AP and updates it as the message status are being received; [0092] iv. Root AP uses the updated score history of the STAs connected to the Extenders AP as an input to a Link Optimization routine and to a Load Balance routine, in order to decide which action is to be taken; [0093] v. the steps i. to iv. are executed in a continuous loop until instructions otherwise from the Root AP.
[0094] In another embodiment of the method of the present invention, combinable with the above described, the message status send by the Extenders AP to the Root AP includes metrics related to the connected STAs or the status of the wireless medium in which the Root AP is located.
[0095] In another embodiment of the method of the present invention, combinable with any above described, the Link Optimization routine is programmed to execute a link optimization process comprising the following steps: [0096] i. Calculate the current score of a link; the score being, classified by the maximum throughput that a given STA would have via a given access point and band; [0097] ii. Calculate target scores for every pair of {STA, fronthaul Basic Service Set}; [0098] iii. Evaluate if the highest score of a STA to a target AP is higher than the score of the STA to the current AP, and if so, evaluate if the throughput gain is better than in previous cases; [0099] iv. Check if there is any steer required, following the step iii., and if required, a steer is requested for the pair {STA, target Basic Service Set}.
[0100] In another embodiment of the method of the present invention, combinable with any above described, the maximum throughput is estimated considering: [0101] signal strength; [0102] maximum backhaul physical data rate; and [0103] estimation of maximum theoretical physical data rate according to a STA and AP's capabilities; [0104] wherein, the estimation of maximum theoretical physical data rate is computed as follows:
where E.sub.phy represents the Estimation, s represents the STA, b.sub.t represents the target BSS, M.sub.phy(s,b.sub.t) represents the maximum theoretical physical data rate that can be obtained on the link between the STA s and the target BSS b.sub.t, according to each other's capabilities; H(b.sub.t) represents the distance of the AP that advertises the BSS in relation to the Root AP, in hops; I.sub.FH(b.sub.t) refers to the interface that is used to advertise the target BSS (fronthaul), I.sub.BH(b.sub.t) represents the interface used for backhaul communications.
[0105] In another embodiment of the method of the present invention, combinable with any above described, the Link Optimization routine is further programmed to detect weak STAs based on the STA's metrics contained in the message status; said detection being based on the RSSI of the STA's link.
[0106] in another embodiment of the method of the present invention, combinable with any above described, weak STA's links are flagged and are handled by a Monitor Entity of the Link Optimization routine; said Monitor Entity being configured to: [0107] to request the associated STA metrics for weak STAs in a higher frequency in relation to the requests of the base algorithm routine; [0108] based on those requests, update the score history; [0109] perform a link optimization assessment to evaluate if the weak STA is no longer weak; if so, the weak flag is removed.
[0110] In another embodiment of the method of the present invention, combinable with any above described, weak STAs are not considered by the Load Balance routine.
[0111] In another embodiment of the method of the present invention, combinable with any above described, the Load Balance routine is programmed to execute a load balance process comprised by two sequential stages: [0112] i. Saturated STA detection stage, by assessing if the STA is unable to achieve more throughput because the medium is overloaded; [0113] ii. Throughput prediction stage, executed if saturated STAs are identified, and where a prediction score is computed for each potential target AP.
[0114] In another embodiment of the method of the present invention, combinable with any above described, the saturated STA detection stage is executed for all connected STAs' links and comprises the following steps: [0115] i. Determine the amount of times a STA is classified as saturated within a time frame; [0116] ii. Evaluate the saturation level to check whether or not a STA is saturated; [0117] iii. If the STA is saturated it is marked as saturated.
[0118] In another embodiment of the method of the present invention, combinable with any above described, the evaluation of the saturation level takes into account inputs including metrics from the STA under evaluation, such as [0119] Airtime, transmission opportunity, retransmission rate, physical data rate, data rate, transmission failures, number of hops to Root AP and band;
[0120] and metrics from other STAs in the network, such as [0121] Airtime and data rate;
[0122] in order to determine: [0123] The available airtime; [0124] The percentage of maximum airtime; and [0125] The percentage of total data rate,
[0126] which are the inputs of a classification tree with two classes: saturated or not saturated STAs.
[0127] In another embodiment of the method of the present invention, combinable with any above described, the throughput prediction stage comprises the following steps: [0128] i. Monitorization of saturated STAs for a specified amount of time, during which all the relevant metrics corresponding to the STAs under evaluation are stored; [0129] ii. Once the monitoring phase has expired, a target score is calculated for all available Aps, followed by a subsequent 2-step evaluation: [0130] a. Check if the highest score of a saturated STA to a target AP is higher than the score of the STA to the current STA's throughput, measured during the monitoring phase; [0131] b. Evaluate if the throughput gain is better than in previous cases where the condition of step a. was true; [0132] iii. Check if there is any steer required; if required, a steer is requested for the pair {STA, target AP} where the throughput gain is the highest.
[0133] In another embodiment of the method of the present invention, combinable with any above described, the estimation of the highest score of a saturated STA combines the estimation of the maximum throughput, of the link optimization routine, with metrics that characterize the medium occupation such as transmission opportunity, available airtime and retransmission rate.
[0134] In another embodiment of the method of the present invention, combinable with any above described, the Root AP comprises a Steer Manager entity adapted to steering STAs and managing the hierarchy between Link Optimization and Load Balance routines' actions and steer requests, according to the priorities as follows: [0135] i. Weak STA optimization; [0136] ii. Load balance; [0137] ii. Regular STA optimization.
[0138] In another embodiment of the method of the present invention, combinable with any above described, the Steer Manager is further configured to allow or deny the Link Optimization and Load Balance routines' actions on a particular STA based on the respective STA's previous behaviour.
[0139] In another embodiment of the method of the present invention, combinable with any above described, the Steer Manager maintains a queue of steer requests; for each request, a steering state is assigned accordingly such as: [0140] Pending: request on queue to be sent; [0141] Processing: request has been sent, waiting for reply; [0142] Success: STA has been steered; [0143] Failed: STA has not responded or has rejected the steer request.
[0144] In another embodiment of the method of the present invention, combinable with any above described, the Steering Manager is configured to execute procedure for managing steering requests, such requests being generated in the Link Optimization or in the Load Balance routines; said procedure comprising the following steps: [0145] i. Checking if there is not current time penalty on the STA, and if so, the request is rejected; [0146] ii. If there is no time penalty on the STA, it is checked if there are no conflicting requests; [0147] iii. If there is a conflicting request, meaning that there is a similar request with the same STA, same source Basic service set and same target Basic service set, the new request is rejected if the old request with equal or higher priority in a pending or processing state exist; if said old request has a lower priority, the new request is rejected if the old request is in the processing state; if the old request is in pending state, the old request is deleted and the new request is accepted.
[0148] In another embodiment of the method of the present invention, combinable with any above described, if the STA does not respond to the steer request as expected, the Steering Manager is configured to mark such STA as ‘misbehaved’ for a predefined period of time, according to a following steer type: [0149] Basic service set steer; [0150] Legacy steer, which is a steer by deauthentication of STA from current Basic service set, and blacklisted by MAC address in every Basic service set that is not source or destination Basic service set.
[0151] In another embodiment of the method of the present invention, combinable with any above described, the steer response to a steer request is classified as one of the following: [0152] Accept, if the STA is steered and reports a successful steer; [0153] Reject, if the STA is not steered and reports a rejected steer; [0154] Wrong Basic Service Set joined, if the STA joins a Basic Service Set different from the target Basic Service Set; [0155] Disconnect, if the STA does not reconnect after a legacy blacklist; [0156] Jump back, if the STA is steered to the target Basic Service Set but soon returns to the source Basic Service Set; [0157] Timeout, if no response is obtained for the steer request.
[0158] The present invention also relates to a system for enhanced steering and traffic load balancing in wireless mesh networks. In a preferred embodiment of said system it is comprised by: [0159] A Root AP [0160] At least one Extender AP;
[0161] wherein, [0162] The Root AP comprises a controller comprising processing means configured to execute the method for enhanced steering and traffic load balancing in wireless mesh networks developed, and to act as a master; [0163] The Extender AP comprises at least one agent entity configured to act a slave and to exchange information with the controller.
[0164] As will be dear to one skilled in the art, the present invention, should not be limited to the embodiments described herein, and a number of changes are possible which remain within the scope of the present invention.
[0165] Of course, the preferred embodiments shown above are combinable, in the different possible forms, being herein avoided the repetition all such combinations.