US 12,015,561 B2
Methods and systems to dynamically prioritize applications over 802.11 wireless LAN
Hao Lu, Santa Clara, CA (US); Sachin Ganu, Santa Clara, CA (US); Nitin A. Changlani, Santa Clara, CA (US); Xiaoding Shang, Beijing (CN); and Qiang Zhou, Santa Clara, CA (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed by HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, Houston, TX (US)
Filed on Dec. 21, 2020, as Appl. No. 17/129,089.
Prior Publication US 2022/0200924 A1, Jun. 23, 2022
Int. Cl. H04L 47/62 (2022.01); H04B 7/0413 (2017.01); H04L 5/00 (2006.01); H04L 47/2425 (2022.01)
CPC H04L 47/6215 (2013.01) [H04B 7/0413 (2013.01); H04L 5/0007 (2013.01); H04L 47/2433 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable storage medium having stored thereon executable computer program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving information related to dynamic prioritization of applications, wherein the information related to dynamic prioritization defines one or more critical applications and one or more critical users;
identifying an application flow for each data packet of a plurality of data packets received at a wireless access point, and identifying a user associated with each of the identified application flows;
assigning each data packet of the plurality of data packets to a respective queue of a first plurality of queues based at least in part on the identified application flow for each data packet;
generating prioritized candidate lists in a second plurality of queues based on iterating across the first plurality of queues to select candidate data packets for the prioritized candidate list from the first plurality of queues based at least in part on priority policies for the identified application flows, each queue of the second plurality of queues being dedicated for an access category (AC) for one or more applications;
in response to determining that a respective identified user, associated with a respective identified application flow, corresponds with the one or more critical users, selecting data packets of the respective identified application flow associated with the respective identified user for the prioritized candidate lists from the second plurality of queues responsive to the respective application flow corresponding to a critical application of the one or more critical applications;
in response to determining that the identified user associated with the application flow corresponds with the one or more critical users and that the application flow does not correspond to the one or more critical applications, overriding the selection of the data packets for the prioritized candidate lists from the second plurality of queues based at least in part on priority policies for each of a plurality of applications; and
scheduling data packets from the prioritized candidate lists.