CPC H04L 47/6215 (2013.01) [H04B 7/0413 (2013.01); H04L 5/0007 (2013.01); H04L 47/2433 (2013.01)] | 20 Claims |
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.
|