Multi-Class Orthogonal Frequency-Division Multiple Access (OFDMA) scheduling may be provided. A plurality of network devices may be assigned a transmission window for channel access. The plurality of network devices may include a first number of client devices and a second number of client devices. A first signal may be sent to the first number of network devices. The first signal may enable the first number of network devices to the channel access in a first portion of the transmission window. An amount of data to be exchanged by each of the second number of network devices may be determined. Based on the determined amount of data to be exchanged, a schedule may be determined for the channel access for each of the second number of network devices in a second portion of the transmission window. A second signal may be sent to the second number of network devices based on the determined schedule. The second signal may enable the second number of network devices to the channel access in the second portion of the transmission window.

TECHNICAL FIELD

The present disclosure relates generally to communication networks, and more particularly to wireless communications.

BACKGROUND

Wireless communication networks are widely deployed to provide various communication services such as voice, video, packet data, messaging, broadcast, etc. These wireless networks may be multiple-access networks capable of supporting multiple users by sharing the available network resources. Presence of a large number of user devices with an access point results in competition among the user devices for available resources. In order to address the issue of increasing bandwidth requirements that are demanded for wireless communication systems, different schemes are being developed to allow multiple user terminals to communicate with a single access point by sharing the channel resources while achieving high data throughputs.

DETAILED DESCRIPTION

Overview

Multi-Class Orthogonal Frequency-Division Multiple Access (OFDMA) scheduling may be provided. A plurality of network devices may be assigned a transmission window for channel access. The plurality of network devices may include a first number of client devices and a second number of client devices. A first signal may be sent to the first number of network devices. The first signal may be configured to enable the first number of network devices to the channel access in a first portion of the transmission window. An amount of data to be exchanged by each of the second number of network devices may be determined. Based on the determined amount of data to be exchanged, a schedule may be determined for the channel access for each of the second number of network devices in a second portion of the transmission window. A second signal may be sent to the second number of network devices based on the determined schedule. The second signal may be configured to enable the second number of network devices to the channel access in the second portion of the transmission window.

Both the foregoing overview and the following example embodiment are examples and explanatory only, and should not be considered to restrict the disclosure's scope, as described and claimed. Furthermore, features and/or variations may be provided in addition to those described. For example, embodiments of the disclosure may be directed to various feature combinations and sub-combinations described in the example embodiment.

Example Embodiments

FIG. 1illustrates an example operating environment100in which embodiments of the disclosure may be practiced. Operating environment100may provide, for example, a Wireless Local Area Network (WLAN) Basic Service Set (BSS) and may comprise a controller102, an Access Point (AP)104, and stations (STAs)106. Controller102may coordinate with access point104to provide the WLAN in a predefined geographical area (i.e., a cell) to STAs106. Access point104may implement a WLAN protocol specified in the IEEE 802.11 specification for example.

Access point104may wirelessly communicate with STAs106. As shown inFIG. 1, STAs106may comprise a first STA106A, a second STA106B, a third STA106C, and a fourth STA106D. First STA106A, second STA106B, third STA106C, and fourth STA106D may comprise, but are not limited to, a cellular base station, a tablet device, a mobile device, a smart phone, a telephone, a remote control device, a set-top box, a digital video recorder, an internet of things (IoT) device, a personal computer, a network computer, a mainframe, a router, or other similar microcomputer-based device. The number of STAs106may grow or shrink and therefore may comprise any number of STAs and are not limited to four.

STAs106may be controlled by a configuration function (also referred to as a scheduler) that may determine when an STA may transmit and/or receive information via AP104(also referred to as a channel access). AP104may implement direct communication between STAs106, such as point-to-point communication, where a channel is allocated for STAs106to communicate directly. STAs106may communicate with one or more other wireless communication devices and AP104using one or more wireless transmission technologies. The wireless transmission technologies employed may include, but are not limited to, near field communications (NFC), Bluetooth (BT), WiFi, as well as mobile phone technologies, such as WCDMA (Wideband Code Division Multiple Access), CDMA2000, UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile communications), High Speed Packet Access (HSPA), and LTE (Long-Term Evolution, often referred to as 4G).

Operating environment100may implement an Orthogonal Frequency-Division Multiple Access (OFDMA) channelization as an aspect of the 802.11 WLAN. OFDMA may provide communication services to multiple STAs106in a single-bandwidth wireless medium. The OFDMA mode may use multiple subcarriers within a single channel that may be transmit to multiple STAs106simultaneously. The techniques used in the OFDMA may involve dividing a channel into multiple subcarriers. Different streams of information may be modulated, or mapped, onto subcarriers within the channel to communicate the information. Thus, the OFDMA mode may be employed to accommodate multiple users in a given bandwidth.

Operating environment100may be employed to perform Target Wake Time (TWT) techniques utilized in 802.11 WLAN, for example. In addition, operating environment100may further employ Uplink-Multiple User, Multiple-Input, Multiple-Output (UL-MUMIMO) modes. These modes may allow AP104to cause spatially diverse STAs106to send uplink traffic at the same time over different streams, in UL-MUMIMO modes, or by allowing AP104to schedule each of STAs106to only use a subset of the uplink transmission frame, in the OFDMA mode. However, the 802.11 specification may not describe how the TWT may be implemented, or how STAs106grouping may happen for either of the above-mentioned uplink modes beyond a basic Radio Frequency (RF) compatibility.

Conventional 802.11 OFDMA schedulers may be focused on optimal Resource Unit (RU) assignment to achieve a utility based outcome, such as proportional fairness (PF), in user throughput or Priority Queuing (PQ) in support of real-time traffic (e.g., voice). Other conventional OFDMA schedulers may be focused on conserving power and avoiding contention by grouping STAs106according to their expected transmission schedules. However, these conventional OFDMA schedulers may not provide optimal scheduling that may improve both the IoT and enterprise application scheduling.

The processes disclosed herein may provide a scheduling process that may account for different traffic types, relative urgency and importance of each flow, and predicted traffic, to optimally divide a Resource Allocation Window (RAW) assigned to STAs106into a Random Access (RA) phase and a Scheduled Access (SA) phase. A Transmit Opportunity (TXOP) (also referred to as channel access) for STAs106may be assigned between the RA phase and the SA phase based on the multiple constraints. For example, the 802.11 specifications may provide flexibility in how TWT Service Periods (SP) to each STAs106may be served by AP104. However, the 802.11 specifications may only describe provisions about negotiated, hence expected wake-up time (minimum and maximum) and periodicity. A practical process for the TWT implementation may be left to the vendors. Furthermore, while only broadcast/multicast TWT SP and legacy non-TWT (e.g. UAPSD) traffic delivery may strictly be related to beacon/TIM intervals, an AP beacon may generally synchronize control-plane transactions (i.e., beacon/probe/probe-response/association, etc.) i.e. at the beginning of the RA phase.

In addition, the 802.11 specifications may provide operational mode flexibility for each TXOP (e.g., one TXOP may leverage SU, the next MU-MIMO, then MU-OFDMA, etc.). That is, the same operational mode may not be repeated from one TXOP to the next. Therefore, enterprise and unicast real-time TWT governed IoT devices may be scheduled in the same TXOP with the same mechanism. For example, enterprise and unicast real-time TWT governed IoT devices may be scheduled in the Downlink (DL) OFDMA with RU assignments to each class and Trigger-frame (TF) with Uplink (UL) OFDMA with per class RU assignment for the uplink. In addition, a post-beacon/Traffic Indication map (TIM) may not be an optimal time for scheduled delivery of large Physical Layer Convergence Protocol (PLCP) Protocol Data Units (PPDUs) as this may delay fast-roaming and the TWT negotiation processes and thus may negatively impact real-time handoff and IoT predictability performance. In any case, it may be more efficient in both compute and Bandwidth (BW) usage than separating the TWT and the OFDMA scheduling and delivery processes.

Furthermore, some enterprise IoT devices may not use the TWT for signaling traffic contracts. For example, real-time applications (e.g., voice) may be predominantly of the over-the-top (OTT) variety where no explicit Wi-Fi Multi-Media Access control (WMM-AC) (e.g. Traffic Specification (TSPEC)) signaling may be used to indicate demand.

Therefore, Machine Learning (ML) may be used to ascertain relevant Key Performance Indicators (KPIs) of value to the enterprise applications. For example, the delay/jitter constraints for the real-time classic enterprise and ideal serving interval/period for the IOT and the enterprise may be learned using the ML. The IoT traffic then may be divided in re-occurring and trigger-based groups, and each type may have learnable burst characteristics that may be learned through supervised learning and from IoT parameters, for example, Manufacturer Usage Description (MUD) files. A MUD file for a STA may indicate an uplink traffic characterization for the STA, a management characterization for the STA, and an emergency group type for the STA.

In example embodiments, a plurality of network devices, for example STAs106, may be assigned channel access in a resource allocation window. A post-beacon period of observation (TO) may be defined in the RA phase in which a scheduler may operate in the RA mode (i.e., non-MU-OFDMA mode). The TO may be followed by a period of scheduled delivery (TS) in which the scheduler may operate in the SA mode (i.e., MU-OFDMA mode). During the TO, a lightweight short-lived ML may be applied to learn a transmission pattern of the real-time enterprise traffic (e.g., one small packet every 20 ms for a VoIP flow) and retrieve their delay/jitter bound needs (e.g., lower than 50 ms HOL delay for VoIP flows) via a separate knowledge base (e.g., through controller102). Moreover, during the TO, an absolute time delivery needs (e.g., in 200 ms then every 500 ms) and the remaining non-real-time needs (which may be assigned a soft-delay bound based on Airtime Fairness (ATF) or Proportional Fairness (PF)) may be learned via TWT/MUD.

In conjunction with the need assessment, a relative priority (e.g. based on policy) may be assigned to the flows such that the critical IoT and enterprise application may be served irrespective of the presence of less critical flows or their intended volume. Given the three sources of time constraints, that is, real-time delay bounds, absolute time contracts and soft-delay, and their respective demands (i.e., RU needs based on current Modulation Coding Scheme (MCS)), a series of DL-OFDMA and TF UL-OFDMA transactions may be constructed with the RU assignments and thus re-compute the TO/TS boundaries.

As more knowledge is gained about existing flows, a higher percentage of the RAW may be dedicated to serving flows in the SA phase, thus saving on the overhead of traffic status polling (e.g., Buffer Status Report Poll (BSRP)/BSR transactions for uplink flows). This may lead to higher efficiency of overall air time use. For example, as STAs106and their flow needs are scheduled (hence moving from the RA phase to the SA phase), the RAW usage (e.g., offered versus taken) may be observed and assignment of STAs106may be altered to the RA phase versus the SA phase. That is, if a non-critical STA may only consume X % of RAWs, then its allocation (i.e., next TXOP) may be reduced forcing a non-critical STA to use the RA phase. In example embodiments, the processes disclosed herein may apply for the entire SA/TS period and not just a single TXOP.

FIG. 2is a diagram illustrating an example RAW200. As shown inFIG. 2, RAW200may be partitioned into a first portion202and a second portion204by a dynamic threshold222. Consistent with embodiments of the disclosure, RAW200may comprise a transmission window, first portion202may comprise a first portion of the transmission window (also referred to as the RA phase), and second portion204may comprise a second portion of the transmission window (also referred to as the SA phase). In the RA phase, the channel access may be allocated with a low-complexity Round Robin (RR) channel access mode where time slices are assigned to each STA106in equal portions and in a circular order without priority.

In example embodiments, STAs106may be assigned to operate in the RA phase and the SA phase based on knowledge of delivery needs (also referred to as demand information). STAs106may be categorized based on the knowledge of the demand information. For example, an STA for which there is no knowledge of data delivery needs (also referred to as demand information) may be categorized to be in an initial mode. Moreover, an STA for which the demand information is known may be categorized to be in a requested mode. In addition, an STA for which demand information is predicted through a learning process may be categorized to be in a predicted mode. At the beginning of transmission cycles, almost all of STAs106may be categorized to be in the initial mode as the demand information may not be known or predicted for any STAs106. With completion of each transmission cycle, the demand information may be collected or predicted for a portion of STAs106. The portion of STAs106for which the demand information is collected to predict may then be re-categorized from the initial mode to the requested mode or the predicted mode, respectively. For STAs106in the initial mode, the channel access is scheduled in first portion202, that is, in the random access phase. In contrast, for STAs106in the requested mode and the predicted mode, the channel access may be scheduled in second portion204, that is, in the scheduled access phase. Scheduling may be organized around a Delivery Traffic Indication Message (DTIM)206.

Continuing withFIG. 2, 1stSTA106A and 2ndSTA106B may each exchange a control roam208message and a control TWT210message in the RA phase. In addition, a scheduler may send an MU BSRP message212to each of 1stSTA106A and 2ndSTA106B. 1stSTA106A and 2ndSTA106B may each respond to MU BSRP message212by a first BSR message214A and a second BSR message214B, respectively. Based on signaled demand (i.e., the BSR and the TWT), 1stSTA106A and 2ndSTA106B may transition to the SA phase and the channel access may be allocated via PF/ATF and TWT contracts. For example, the scheduler may send a trigger, data, and the TWT216to 1stSTA106A and 2ndSTA106B. In response to the trigger, 1stSTA106A and 2ndSTA106B may each exchange first data218A and second data218B, respectively, over an accessed channel. An acknowledgement (ACK)220may be received by 1stSTA106A and 2ndSTA106B confirming a completion of the data exchange. Polling may now exclude 1stSTA106A and 2ndSTA106B. In example embodiments, first portion202and second portion204may grow and shrink as STAs106transition from the initial to requested and then to predicted scheduling states. That is, dynamic threshold222may change its position as more and more STAs106move from first portion202to second portion204.

FIG. 3illustrates an example diagram illustrating another example RAW300. As shown inFIG. 3, RAW300may include first portion202and second portion204. In addition, RAW300may include a demand poll phase310, an immediate phase312, an optimum phase314, a PF phase316, and a RR phase318. A scheduler cycle may start at the end of a PPDU302following a beacon, and may schedule a first number of STAs106in the RA phase, that is, in first portion202. Traffic accumulated until a demand poll is issued (TF BSRP/BSR) may be timed to end at a scheduler-cut-off (SCO) time304. In the RA phase, the scheduler may allow roaming, learn immediate needs, and determine schedule compute306. For example, the scheduler may sort STAs106into immediate (e.g., control or ACK) and non-immediate (i.e., optimum portion314allocation) STA and may kick off schedule compute306task. STAs106sorted as an immediate STA may be scheduled in immediate phase312.

In the SA phase, that is, second portion204, inputs (for example, an expiration time, a HOLDelay, a Qdelay, a Rate, etc.) may be considered to form an optimum schedule (for optimum portion314) which may be executed prior to PF phase316(that is, requested schedule) and RR phase318(that is, random schedule) phases. A margin (M)308may be computed based on observation of Single User/Carrier Sense Multiple Access (SU/CSMA) PPDUs in the RA phase and the SA phase. For example, if on average approximately 10% of first portion202and second portion204was SU, then margin (M)308may be determined to be 10 Time Unit (TU).

In example embodiments, as an STA moves from the initial mode, to the requested mode, and then to the predictive mode, the scheduler may have more demand information for the STA. For example, the scheduler may not have any demand information for the STA in the initial mode. However, for an STA in the requested mode, the scheduler may either have a per-Traffic Identifier (TID) BSR or a negotiated TWT SP. In addition, for a STA in the predicted mode, the scheduler may have an estimate of a future demand of the STA (for example, per-TID). In example embodiments, an STA may move from the initial mode to the requested mode via demand poll310. Since a number of STAs106per poll may be limited and the process has cost, AP104may select STAs106that have high-likelihood of demand (from previous cycles), but may also include a number of STAs106in the initial mode.

The scheduler may optimize the channel access in the SA phase. For example, optimum phase314of the SA phase may be optimized by using, for STAs106in the predicted mode, an OFDMA DL+UL cascade based on demand. Similarly, PF phase316may be optimized by using, for the requested mode STAs106(per-TID BSR) per-TID PF (i.e. highest utility rate). In addition, RR phase318may be optimized by using a low-priority demand poll followed by a minimal allocation of RAW300as catch-all demand for the remaining STAs106(i.e. not part of demand poll310or still in initial mode). This may catch STAs106which may not be able to signal demand otherwise.

In each transmission cycle, margin308(e.g., M) may be computed based on a sliding-window time averaging of previous beacon periods SU/RA and OBSS air-time utilization, which initially may be high because the SA phase has not occurred yet. The SA phase (i.e., second portion204) may be determined as a sum optimum phase314, PF phase316, and RR phase318. Optimum phase314may be determined based on a demand from the predicted mode STAs106. Initially, the SA phase may be 0 because no STA may be known, but may grow to 1−min(RA+SC+DP)phase [multiple TXOPs]. Similarly, PF phase316may be determined based on a demand from the requested mode STAs106less a demand from the newly known STAs106(i.e. STAs106which moved to the predicted mode).

In addition, RR phase318may be determined based on a time to poll and serve minimal RU to unknown STAs106. Then, the RA phase (i.e., first portion202) may be estimated based on 1-SA-SC-time (DP)-M, where time (DP) represents time for demand poll310. Demand poll phase310may be adjusted from all STAs106to a number of unknown STAs106(i.e. as a number of predicted STA increases). Schedule compute306may be adjusted based on a measured compute time (initially low). Movement from the initial phase to the requested phase for an STA may be driven by the STA. In such movement, a per-TID/AC BSR and negotiated TID may originate from the moving STA.

In some embodiments, the movement from the requested mode to the predicted mode may be driven by AP104. Since an STA may be underserved (e.g., not in BSPR/BSR cycle, use of SU/CSMA), it may be important to predict demand in order to serve the STA effectively. Hence, in AP104driven movement, learning per-TID patterns for the moving STA may be key to organizing the SA phase.

In example embodiments, the process disclosed herein may use a two-tier learning approach. A first tier of the two-tier approach may be learning a beacon scale (e.g., 100s of TUs) and a second tier may be learning a cloud scale (e.g., seconds-minutes). The first tier may use Application Visibility Control/Network Based Application Recognition (AVC/NBAR) to classify the flows into a real-time interactive, a non-real-time, etc. In addition, the first tier may also determine a PDF of inter-arrival and a size. If a low correlation is found (e.g., Web traffic), the flow may be deemed as unknown. The second tier may crowd-source the first tier metrics over a number of WLANs to refine the PDFs of inter-arrival and the size.

FIG. 4is a flow diagram illustrating a method for a multi-class 802.11 OFDMA scheduling. Method400may be implemented by any of controller102, access point104, or STAs106as described above with respect toFIG. 1. In addition, method400may be implemented by computing device500as described in more detail below with respect toFIG. 5, which may comprise a working environment for any of controller102, access point104, or STAs106. Ways to implement the stages of method400will be described in greater detail below.

Method400may begin at block405and proceed to block410where a plurality of network devices may be assigned for channel access in a transmission window. The plurality of network devices may comprise a first number of network devices and a second number of network devices. For example, STAs106may be assigned for channel access in RAW200or RAW300. STAs106may be assigned in RAW200or RAW300based on their transmission needs (e.g., transmission interval, transmission volume, etc.), predictability, duration, variation, and/or emergency levels. The assignments may be changed dynamically based on environmental conditions (e.g., fire alarms, etc.). For example, behavioral profiles of STAs106may be determined. The behavioral profile for a particular STA may indicate whether the STA is an occasional transmitter or a periodic transmitter. Similarly behaving STAs may be identified based on their behavioral profiles. Groups of STAs106may be assigned to uplink transmission windows based on their behavioral profiles. The similarly behaving STAs106that are periodic transmitters may be assigned to the same uplink transmission windows and similarly behaving STAs106that are occasional transmitters may be assigned to different uplink transmission windows. Assigning STAs106to a transmission window based on the behavior is an example and other processes may be used for assigning STAs106into transmission windows.

After assigning the transmission window to a plurality of network devices at block410, method400may proceed to block415where a first signal may be sent to the first number of network devices. The first signal may be configured to enable the first number of network devices to access the channel in a first portion of the transmission window. For example, a first number of STAs106may be scheduled for to access the channel in first portion202of RAW200or RAW300and scheduled to exchange data in the RA phase. The first signal may be a trigger signal or a wake up signal.

Once having sent the first signal to the first number of network devices at block410, method400may proceed to block415where an amount of data to be exchanged by each of the second number of network devices may be determined. The amount of data to be exchanged may be determined using a demand poll. In addition, the amount of data to be exchanged may be determined using a learning process. For example, the amount of data to be exchanged may be determined by learning from the amount of data exchanged during the previous cycles. In addition, the amount of data to be exchanged may be determined from MUD files.

After determining the amount of data to be exchanged by the second number of the network devices at block420, method400may proceed to block425where a schedule for the each of the second number of network devices in a second portion of the transmission window may be determined based on the amount of data to be exchanged. For example, the second number of network devices may be scheduled the channel access in second portion204of RAW200or RAW300in the SA phase.

Once having determined the schedule for the second number of network devices at block425, method400may proceed to block430where a second signal may be sent to the second number of network devices. The second signal may be configured to enable the second number of network devices to the access the channel in second portion204of the transmission window. After sending the second signal to the second number of network devices of the first plurality of network devices at block430, method400may end at block435.

FIG. 5shows computing device500. As shown inFIG. 5, computing device500may include a processing unit510and a memory unit515. Memory unit515may include a software module520and a database525. While executing on processing unit510, software module520may perform processes for providing Multi-Class Orthogonal Frequency-Division Multiple Access (OFDMA) scheduling, including for example, any one or more of the stages from method400described above with respect toFIG. 4. Computing device500, for example, may provide an operating environment for controller102, access point104, and ones of STAs106. Controller102, access point104, and STAs106may operate in other environments and are not limited to computing device500.

Computing device500may be implemented using a personal computer, a network computer, a mainframe, a router, or other similar microcomputer-based device. Computing device500may comprise any computer operating environment, such as hand-held devices, multiprocessor systems, microprocessor-based or programmable sender electronic devices, minicomputers, mainframe computers, and the like. Computing device500may also be practiced in distributed computing environments where tasks are performed by remote processing devices. The aforementioned systems and devices are examples and computing device500may comprise other systems or devices.

While certain embodiments of the disclosure have been described, other embodiments may exist. Furthermore, although embodiments of the present disclosure have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Moreover, the semantic data consistent with embodiments of the disclosure may be analyzed without being stored. In this case, in-line data mining techniques may be used as data traffic passes through, for example, a caching server or network router. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the disclosure.