Wireless Adaptation Based on Multidimensional Input
By generating metrics through multidimensional inputs and adjusting the operating parameters of the wireless network, the balance between performance and reliability is resolved, achieving efficient resource utilization and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- MAXLINEAR INC
- Filing Date
- 2020-05-29
- Publication Date
- 2026-05-26
AI Technical Summary
Existing wireless networks struggle to balance performance and reliability, resulting in underutilization of resources and poor user experience.
By generating metrics through multidimensional inputs, and adjusting the operating parameters of the wireless network, such as MCS, modulation rate, and beamforming, based on the optimization engine, adaptive adjustment of performance and reliability can be achieved.
Optimize wireless network performance to meet minimum performance constraints while improving reliability, resource utilization, and user experience.
Smart Images

Figure CN112105063B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This patent application claims the benefit and priority of U.S. Provisional Application No. 62 / 863,191 entitled “RATE ADAPTION”, filed June 18, 2019, which is incorporated herein by reference in its entirety. Technical Field
[0003] The specific implementation discussed in this paper involves wireless adaptation based on multidimensional input. Background Technology
[0004] Unless otherwise indicated in this disclosure, the materials described in this disclosure are not prior art to the claims of this application and are not acknowledged as prior art by virtue of their inclusion in this section.
[0005] A typical wireless network usually includes at least one access point (AP) through which stations can connect to the wireless network. A common type of wireless network is the Wi-Fi network, which is a non-technical description generally relating to the IEEE 802.11 standard, as well as the Wi-Fi Protected Access (WPA) and WPA2 security standards and the Extensible Authentication Protocol (EAP) standard. (Wi-Fi certification currently requires compliance with these standards.) Wireless networks can include wireless local area networks (WLANs) or some other size of network.
[0006] In a typical implementation, sites connect to devices with dedicated applications such as data, video, or voice. The Quality of Service (QoS) module identifies and characterizes packets based on packet importance and application constraints. The Rate Selection module determines the correct modulation and coding scheme (MCS) for each packet across multiple sites based on channel quality. The constellation size and coding rate are determined according to the MCS defined in the WiFi standard. The number of retries is available when errors are encountered during packet retransmission.
[0007] The subject matter claimed in this disclosure is not limited to addressing any shortcomings or specific implementations that operate only in environments such as those described above. Rather, this background is provided merely to illustrate an example technical field in which some of the specific implementations described in this disclosure may be practiced. Summary of the Invention
[0008] Methods and systems may include obtaining multiple parameters associated with a wireless network. These parameters may include one or more environment-specific parameters and one or more packet-specific parameters. The method may include generating a metric from a combination of these parameters. The method may include determining one or more operational parameters to be adjusted in response to determining how to adjust the performance of the wireless network based on the metric. The method may include adjusting the performance of the wireless network by adjusting the one or more operational parameters. Attached Figure Description
[0009] The specific implementation of the example will be described and explained with additional features and details using the accompanying drawings, wherein:
[0010] Figure 1 The performance curves shown illustrate an example relationship between performance and reliability in a wireless network;
[0011] Figure 2 An example system with an optimization engine is described;
[0012] Figures 3A to 3C Various examples of adaptive tuning of the performance of a wireless network that includes access points and one or more client devices are shown.
[0013] Figure 4 A flowchart illustrating an example method for adaptively adjusting the performance of a wireless network based on multidimensional input is shown.
[0014] Figure 5 Example sites suitable for use as transmitters are shown; and
[0015] Figure 6 Example sites suitable for use as receivers are described. Detailed Implementation
[0016] Figure 1 Performance curve 100 is shown, illustrating an example relationship between performance (e.g., throughput) and reliability (e.g., latency, packet error rate) in a wireless network. Figure 1 As shown, peak performance 102 can generally be achieved at the cost of low reliability (e.g., high latency or high packet error rate (PER)). Conversely, peak reliability 104 (e.g., low latency or low PER) can generally be achieved at the cost of low performance (e.g., low throughput).
[0017] Points on performance curve 100 that lie between the two extremes 102 and 104 represent intermediate performance and reliability. For example, point 106 on performance curve 100 has a performance 108 that is lower than the peak performance 102 but higher than the performance associated with peak reliability 104. Furthermore, point 106 has a reliability 110 that is lower than the peak reliability 104 but higher than the reliability associated with peak performance 102.
[0018] The specific implementation described herein is based on multidimensional input to adaptively adjust the performance of the wireless network, such as latency, PER, throughput, and packets per second (PPS), to any point on the performance curve 100. Performance can be adjusted at the AP, STA, or other devices within the wireless network. For simplicity, the AP is described as the one performing the adjustment.
[0019] Multidimensional inputs may include inputs from one or more devices, such as one or more APs and STAs, each located at different locations, wherein the inputs include multiple parameters measured or otherwise determined by the corresponding device at the corresponding location. Such parameters may include packet-specific parameters (e.g., transmit buffers), environment-specific parameters (e.g., interference), service constraints (e.g., maximum throughput of the wireless network), or user feedback (e.g., user variations in video stream quality).
[0020] Metrics can be generated from multidimensional inputs and / or can be functions of a given state of a wireless network. For example, metrics such as the ratio of traffic demand to channel availability in a wireless network, broadcast time utilization in a wireless network, or combinations thereof can be generated from multidimensional inputs. Alternatively or additionally, the specific implementations described herein can use deep learning to formulate functions from multidimensional inputs to generate metrics or sets of metrics.
[0021] An access point (AP) or other device in a wireless network can determine whether to adjust the performance of the wireless network based on a metric or set of metrics. In response to an affirmative determination, the AP or other device can determine one or more operating parameters to be adjusted. The AP or other device can then adjust the performance of the wireless network by adjusting one or more operating parameters. Generally, performance can be adjusted by regulating latency, PER, throughput, PPS, etc. More specifically, adjusting performance by regulating one or more operating parameters may include adjusting one or more of the modulation and coding scheme (MCS), modulation rate, or other operating parameters as described herein.
[0022] Alternatively or additionally, determining whether and how to optimize the performance of a wireless network can be made by a combination of two or more access points (APs) in the wireless network, a central controller, some other devices or systems, or a group of devices or systems. Such determinations can be made by pushing all the obtained parameters up to, for example, a central controller, where determinations can be made to achieve joint optimality across multiple APs and sites.
[0023] In the example, the AP obtains parameters associated with the wireless network, which may include or be used to determine one or both of the traffic demand to channel availability ratio and broadcast time utilization in the wireless network. The AP generates metrics including the traffic demand to channel availability ratio, broadcast time utilization, a combination of the two, or some other metrics. If the metric is below a threshold, the AP may shift down one or more physical (PHY) layer operating parameters such as MCS, which can have the dual effect of reducing performance / throughput and increasing reliability in the wireless network.
[0024] Therefore, some of the specific implementations described in this paper can optimize the performance of wireless networks to meet minimum performance constraints while improving reliability, and vice versa. This adjustability allows for better utilization of available resources and improves the user experience.
[0025] Figure 2 An example system 200 with an optimization engine 202 is depicted. System 200 includes the optimization engine 202, a data link layer (DLL) 204, a physical coding sublayer (PCS) 206, a physical medium dependent sublayer (PMD) 208, and one or more antennas 210. PCS 206 and PMD 208 can be considered as part of the PHY layer. Figure 2 The components can be implemented on access points (APs) at sites such as wireless local area networks (WLANs) or other wireless networks.
[0026] As used herein, a site may refer to a device with a Media Access Control (MAC) address and a PHY interface for a wireless medium that conforms to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard or other wireless standards such as Global System for Mobile Communications (GSM), Provisional Standard 95 (IS-95), Universal Mobile Telecommunications System (UMTS), CDMA2000, Long Term Evolution (LTE), 5G, or other cellular communication standards or protocols. The IEEE 802.11 standard is a competition-based standard used to handle communication between multiple competing devices sharing a wireless communication medium on a chosen communication channel among several communication channels. The frequency range of each communication channel is specified in the corresponding protocol of the implemented IEEE 802.11 protocol, for example, “a”, “b”, “g”, “n”, “ac”, “ad”, “ax”. Devices conforming to the IEEE 802.11 standard include Wi-Fi compliant devices, as Wi-Fi is generally considered a superset of the 802.11 standard. Alternatively, a site may conform to a standard different from IEEE 802.11, or not conform to the standard at all, may be called something other than a “site”, and may have different interfaces for wireless media or other media.
[0027] Sites with multiple antennas may be able to perform multiple-input multiple-output (MIMO) communication. Multiple-input single-output (MISO), single-input multiple-output (SIMO), and single-input single-output (SISO) are special cases of MIMO. MISO is achieved when the receiver has a single antenna. SIMO is achieved when the transmitter has a single antenna. SISO is achieved when neither the transmitter nor the receiver has multiple antennas. The techniques described herein are applicable to any of these special cases, depending on whether they can be used with a single transmitter (Tx) antenna and / or a single receiver (Rx) antenna. Therefore, the acronym MIMO may be considered to include special cases, if applicable. These techniques are also applicable to multi-user (MU)-MIMO (MU-MIMO), cooperative MIMO (CO-MIMO), MIMO routing, orthogonal frequency division multiplexing (OFDM)-MIMO, or other MIMO techniques.
[0028] Some of the techniques described herein enable coding. As used herein, coding may include adding systematically generated redundant data or error-correcting codes to the modulated signal. Coding enables the decoder at the receiver to detect and, perhaps, correct bit errors. PER is the probability that one or more bits in a coded bit block will be incorrectly decoded. PER is different from Bit Error Rate (BER), but the term PER is considered in this document as a more general term that can be interpreted as BER depending on the context. The amount of error reduction provided by a given code is typically characterized by its coding gain in additive white Gaussian noise (AWGN) and its diversity gain in fading. As used herein, the coding gain in AWGN is defined as the amount by which the signal-to-noise ratio (SNR) can be reduced with respect to a given PER using the coding technique. MCS uses a joint design of code and modulation to achieve coding gain without bandwidth expansion. Good performance in fading can be optimized by combining AWGN channel codes with interleaving and by designing the codes to optimize their inherent diversity.
[0029] The term "layer" in this article is used according to standard industrial usage. The Open Systems Interconnection (OSI) model is a way of subdividing a communication system into smaller parts called layers. A layer is a conceptually similar collection of functions that provide services to the layer above it and receive services from the layer below it. At each layer, instances provide services to instances in the layer above and request services from the layer below. Although other models (e.g., the TCP / IP model) define different layers, those skilled in computer science will readily compare other models to the OSI model.
[0030] Layer 1 of the OSI model, the Physical Layer, defines the electrical and physical specifications of devices. Specifically, it defines the relationship between devices and transmission media (such as copper or fiber optic cables). This includes the layout of pins, voltages, cable specifications, hubs, repeaters, network adapters, host bus adapters (HBAs), etc., used in storage area networks. Various physical layer Ethernet standards reside in the physical layer; Ethernet combines this layer with DLLs. It is applicable to other local area networks such as Token Ring, FDDI, ITU-T G.hn, and IEEE 802.11, as well as personal area networks such as Bluetooth and IEEE 802.15.4. Referring to the physical layer as PHY is not uncommon, especially in the context of 802.11a / b / g / n PHY or ITU-T G.hn PHY. However, in this document, "PHY" is intended to include any applicable physical layer or its applicable portions, and the term PHY will be used thereafter.
[0031] The main functions and services performed by the PHY are: establishing and terminating connections with the communication medium; participating in processes that enable efficient sharing of communication resources among multiple users; and modulation or conversion between the representation of digital data in user equipment and the corresponding signals transmitted through the communication channel.
[0032] At layer two of the OSI model, the DLL provides functional and procedural means for transmitting data between network entities and for detecting and potentially correcting errors that may occur in the PHY; the DLL manages the interaction between devices and the shared medium. (The DLL is part of or corresponds to the link layer of the TCP / IP reference model.) Both WAN and LAN services arrange bits from the PHY into logical sequences called frames. Not all PHY bits go into a frame, as some of these bits are purely for PHY functionality.
[0033] The IEEE 802.11 protocol defines the MAC and Logical Link Control (LLC) sublayers of the DLL. The MAC sublayer detects but does not correct errors. Above the MAC sublayer is the media-independent IEEE 802.2 LLC sublayer, which handles addressing and multiplexing on multiple access media.
[0034] exist Figure 1In the example, optimization engine 202 enables system 200 to optimize flow based on considerations from multiple operational layers. In contrast, QoS mechanisms queue packets based on QoS levels but do not modify PHY parameters based on packet type. Therefore, QoS optimization results in guaranteed service for certain levels of packet traffic based on packet characteristics (specifically, the packet's QoS level), but channel characteristic-based optimization is independent of packet QoS because all queued packets use the same MCS once queued. Optimization engine 202 can tune one or more of various operational parameters based on packet-specific parameters, environment-specific parameters, service constraints, or user feedback to adjust performance to the desired level. Operational parameters may include MCS, transmission start time, media reservation, transmission redundancy, aggregate size of aggregated MAC Service Data Unit (A-MSDU) and aggregated MAC Protocol Data Unit (A-MPDU), fragmentation; Request to Send (RTS) / Clear to Send (CTS) flow control, modulation rate, NSS of beamforming matrix, Orthogonal Frequency Division Multiple Access (OFDMA), downlink (DL) OFDMA resource unit (RU) allocation, uplink (UL) OFDMA allocation, MU-MIMO, MU-MIMO parameters (e.g., packet wait time for filling service, MU-MIMO group formation, MU-MIMO rate), guard interval duration, retry rate for retransmissions, or other suitable operational parameters.
[0035] The optimization engine 202 may obtain local parameters, such as packet-specific and environment-specific parameters measured or otherwise determined locally at system 200 itself. Alternatively or additionally, the optimization engine 202 may obtain remote parameters, such as packet-specific and environment-specific parameters measured or otherwise determined remotely from system 200. These remote parameters may be measured or determined at other sites within the same wireless network as system 200 and then transmitted from those sites to system 200.
[0036] Environment-specific parameters are generally related to channel conditions on a specific channel and are typically used to characterize the channel as "good" or "poor". Environment-specific parameters may include channel-specific parameters, channel availability, interference, channel capacity, or other channel conditions.
[0037] Local packet-specific parameters can be determined by monitoring the transmit buffer of system 200 to identify traffic bursts at system 200. Remote packet-specific parameters can be obtained from another site that determines such packet-specific parameters in the same or different ways. Packet-specific parameters may include length, jitter, latency, packet type (e.g., voice, video, audio, network), frame type (e.g., I-frame, P-frame, B-frame), user type (e.g., the type of user expected to receive the packet), application type (e.g., the type of application requesting data), or other packet-specific parameters.
[0038] In some implementations, the optimization engine 202 can also obtain service constraints or user feedback. The optimization engine 202 can obtain service constraints or user feedback through measurements at higher layers or as user-defined input to the system. For example, when configuring a wireless network, an administrator or other user can assign certain QoS constraints on the media that packets should access. Users can provide feedback via the BSR (Band Response Scheduler) and how many packets are served in each QoS level. Furthermore, there may be application-layer visibility that indicates to the AP (Access Point) that certain bandwidth requirements are not being met by the system on which the AP operates.
[0039] Service constraints may include PER constraints, latency constraints, frame type-related constraints, robustness constraints, beamforming constraints (which may include whether beamforming should be used and / or implicit / explicit beamforming requirements), aggregation constraints, fragmentation constraints, maximum throughput of the wireless network, best-effort delivery constraints, streaming video service delivery constraints, streaming audio service delivery constraints, voice service delivery constraints, parent constraints, the maximum number of streaming video channels (or other channels) allowed by the Internet Service Provider (ISP) whose communication is coupled to the wireless network, the maximum download speed allowed by the ISP, the maximum upload speed allowed by the ISP, or other suitable constraints.
[0040] User feedback can include valid feedback from the user regarding changes to the performance or operating parameters of the wireless network. For example, suppose a user is streaming high-definition (HD) quality video to a user site via system 200, and the video is repeatedly interrupted for buffering. In such a scenario, the user can manually reduce the streaming quality to standard-definition (SD) quality video to reduce buffering. The user's choice to stream SD quality video when previously streaming HD quality video is an example of valid user feedback regarding changes to the performance or operating parameters of the wireless network.
[0041] When determining the performance of a wireless network based on metrics generated by the optimization engine 202, for example by adjusting one or more operating parameters, these one or more operating parameters can be adjusted at the appropriate layer of system 200. For example, aggregation and fragmentation operating parameters (such as A-MSDU / A-MPDU size) can be adjusted at DLL 204. The reason for applying aggregation and fragmentation operating parameters in DLL 204 is that it is a packet-level optimization technique. That is, aggregation and fragmentation operating parameters are applied to Layer 2 packets. Other operating parameters can be appropriately adjusted at such as DLL 204, PCS 206, or PMD 208.
[0042] exist Figure 2 In the example, DLL 204 receives data (in Figure 1 The instruction is "Data In". As described above, DLL 204 can adjust operating parameters according to the instructions of optimization engine 202, for example, along... Figure 1 The performance curve 100 adjusts the performance of the wireless network.
[0043] PCS 206 can perform auto-negotiation and encoding, such as 8b / 10b encoding. Typically, the goal of encoding at the PHY is to achieve 0PER. This allows the system to maximize throughput. However, simply maximizing throughput may not be "optimal." PCS 206 can be implemented as one or more of a forward error correction (FEC) encoder, bit interleaver, constellation mapper, or precoding engine, or in some other combination of components. (One or more of these components can also be considered, or alternatively, as part of PMD 208.) When using arbitrary components, PCS 206 processes digital data such that it can ultimately produce analog waveforms with certain characteristics, based on metrics generated from parameters obtained by optimization engine 202, such as along... Figure 1 The performance curve 100 appropriately adjusts the performance of the wireless network.
[0044] exist Figure 2 In the example, PCS 206 is operatively connected to PMD 208. PMD 208 may include a digital-to-analog converter (DAC) and an RF chain. Digital data from PCS 206 is converted into an analog waveform at the DAC and up-converted to the desired carrier frequency by the RF chain. The analog waveform is provided to one or more antennas 210 for transmission via the RF chain. The number of RF chains typically corresponds to the number of one or more antennas 210. The RF chain may be part of circuitry that includes a controller capable of tuning to the desired carrier frequency.
[0045] exist Figure 2In the example, PMD 208 is operatively connected to one or more antennas 210 or antenna arrays. Generally, as used herein, an "antenna array" includes multiple antennas coupled to a common source or load to generate a directional radiation model. With an antenna array, the spatial relationship between antennas can contribute to directivity. If only one antenna exists, certain functions such as MIMO are typically not possible. A reference to a Tx antenna herein does not necessarily mean that the antenna is dedicated solely to transmission; depending on the specific implementation, the same antenna can be used for both Tx and Rx. Therefore, unless the context otherwise indicates, designating an antenna as Tx or Rx can be considered a description used at a particular point in time.
[0046] Assuming one or more antennas 210 comprise multiple antennas, system 200 is capable of precoding, spatial multiplexing, and / or diversity coding. Spatial multiplexing can be combined with precoding, for example, when the channel is known at the transmitter, or with diversity coding, for example, when decoding reliability is compromised.
[0047] As used herein, precoding can be combined with multistream transmission in MIMO radio systems. In precoding, multiple streams of signal are mapped onto transmit antennas, each with independent and appropriate weighting, to maximize certain performance metrics such as link throughput at the receiver output. Some benefits of precoding include increasing signal gain on one or more streams through diversity combining, reducing delay spread on one or more streams, or other benefits.
[0048] As used in this paper, beamforming is a special case of precoding in which a signal is emitted from each of a plurality of transmit antennas with appropriate weights so that some performance metrics, such as signal power, are maximized at the receiver. Some benefits of beamforming include increasing the signal gain of a particular stream by mapping the stream to a specific pattern of the channel.
[0049] MIMO antenna configurations can be used for spatial multiplexing. In spatial multiplexing, a high-rate signal is split into multiple low-rate streams, which are mapped onto a Tx antenna array. If these signals arrive at an Rx antenna array with sufficiently different spatial characteristics, the receiver can separate the streams, thereby creating a parallel channel. Spatial multiplexing can be used to increase channel capacity. The maximum number of spatial streams can be limited by the smaller of the number of antennas at the transmitter and the number of antennas at the receiver. Spatial multiplexing can be used with or without knowledge of the transmit channel.
[0050] The data stream transmitted via antenna array 210 can be received by a receiver (not shown) and converted into digital data, so that the data input at system 200, which operates as a transmitter, is reproduced as data output at the receiver.
[0051] System 200 may also include a characterization engine 212 to generate local environment-specific parameters for use by optimization engine 202. The receiver may provide optimization engine 202 with feedback regarding, for example, processed or unprocessed channel conditions as remote environment-specific parameters. Alternatively or additionally, the receiver may provide optimization engine 202 with remote packet-specific parameters.
[0052] Figure 2 System 200 is described as operating as a transmitter. Alternatively or additionally, system 200 may operate as a receiver, which will perform steps similar to those described above on the transmitter in reverse order. Sites such as system 200 are typically capable of both transmitting and receiving, and therefore may be referred to as transceivers. References are made below respectively. Figure 4 and Figure 5 Examples of transmitter and receiver components that can be implemented in system 200 are shown.
[0053] Figures 3A to 3C Various examples of adaptive tuning of the performance of a wireless network including an access point (AP) and one or more client devices C1 and C2 are shown. The AP or client devices may include or correspond to... Figure 2 System 200. In Figure 3A In the example, and as shown at 301, the AP transmits packets 302-304 to client device C1. (Refer to the reference...) Figure 1 and Figure 3A Data packets 302-304 can be transmitted at a relatively high MCS or modulation rate, for example, at... Figure 1 Achieve peak performance at or as close as possible to peak performance at 102.
[0054] exist Figure 3AIn the example, after obtaining the parameters associated with the wireless network, such as to obtain or generate a metric based on the ratio of service demand to channel availability, broadcast time utilization, or a combination thereof, it can be determined that the performance of the wireless network can be pushed from peak performance 102 to peak reliability 104. For example, given any system constraints, point 106 on the performance curve may have appropriately high performance 108, although lower than peak performance 102, while providing a reliability 110 that is better than the reliability at peak performance 102. Therefore, as shown at 305, the MCS or modulation rate of data packets 306-308 transmitted to client device C1 can be reduced compared to the MCS or modulation rate associated with data packets 302-304, so that the AP transmits client device C1 data packets 306-308 with a lower MCS or modulation rate that has higher reliability than data packets 302-304. The amount of reduction in the MCS or modulation rate of data packets 306-308 sent to client device C1 (compared to the MCS or modulation rate of data packets 302-304) can be adjusted to improve reliability (e.g., by reducing PER) without exceeding the available broadcast time.
[0055] exist Figure 3B In the example, and as shown at 309, the AP transmits packets 310-312 to client device C1, and the AP transmits packets 314-316 to client device C2. (Refer to the reference...) Figure 1 and Figure 3B Data packets 310-316 can be transmitted at a relatively high MCS or modulation rate. In the example, client device C1 may be associated with a first user, whose priority is lower than that of a second user associated with client device C2. Alternatively or additionally, the priority of the data packet type, application type, or one or more other parameters associated with services intended for client device C2 (such as data packets 314-316) may be higher than that of the data packet type, application type, or one or more other parameters associated with services intended for client device C1 (such as data packets 310-312).
[0056] Therefore, in Figure 3BIn the example, after obtaining the parameters associated with the wireless network, it can be determined that the performance of the wireless network can be maintained in the same way as the performance of communication between the AP and client device C1, while being pushed towards greater reliability of communication between the AP and client device C2. Therefore, as shown at 317, the MCS or modulation rate of data packets 318-320 sent to client device C1 can be maintained at the same as the MCS or modulation rate of data packets 310-312, while the MCS or modulation rate of data packets 322-324 sent to client device C2 can be reduced compared to the MCS or modulation rate associated with data packets 314-316, so that the AP sends data packets 322-324 to client device C2 with a lower MCS or modulation rate that has higher reliability than data packets 314-316.
[0057] Figure 3C Example assumptions and Figure 3B The example uses the same initial conditions. Specifically, as... Figure 3C As shown at point 309, the AP transmits data packets 310-312 to client device C1 and data packets 314-316 to client device C2. Each group of data packets is transmitted at the same MCS or modulation rate, as shown below. Figure 3B As shown at point 309. Furthermore, the user type, packet type, application type, or one or more other parameters (such as packets 314-316) associated with services intended for use on client device C2 may have a higher priority than the user type, packet type, application type, or one or more other parameters (such as packets 310-312) associated with services intended for use on client device C1.
[0058] Therefore, in Figure 3C In the example, after obtaining the parameters associated with the wireless network, it can be determined that the performance of the wireless network can be pushed towards higher performance for communication between the AP and client device C1, and simultaneously towards greater reliability for communication between the AP and client device C2. Therefore, as shown at 325, the MCS or modulation rate of data packets 326-328 sent to client device C1 can be increased compared to the MCS or modulation rate associated with data packets 310-312, so that the AP sends data packets 326-328 to client device C1 with a higher MCS or modulation rate than data packets 310-312, which has higher performance (e.g., throughput). Similarly, the MCS or modulation rate of data packets 329-331 sent to client device C2 can be decreased compared to the MCS or modulation rate associated with data packets 314-316, so that the AP sends data packets 329-331 to client device C2 with a lower MCS or modulation rate than data packets 314-316, which has higher reliability. Furthermore, given that the data packets sent to… Figure 3CThe performance of data packets 326-328 in client device C1 has been improved, enabling data transmission to... Figure 3C The MCS or modulation rate of data packets 329-331 in the client device C2 can even be lower than that sent to... Figure 3B The MCS or modulation rate of data packets 322-324 in the client device C2.
[0059] Figures 3A to 3C Various examples are shown of adjusting the performance of a wireless network by adjusting operating parameters (such as MCS or modulation rate) up or down according to the desired direction of performance change. Figures 3A to 3C It also illustrates the ability to adjust performance either network-wide or on a per-service / user / application-type basis. In such specific implementations, each service type, user type, or application type may have its own performance curve, such as... Figure 1 The performance curve 100, when summed together, provides the overall performance curve for the wireless network. Each service type, user type, or application type can be adjusted to a different point on its corresponding performance curve.
[0060] exist Figures 3A to 3C In the discussion above, the operating parameter being adjusted is the MCS or modulation rate. In other specific implementations, the same or one or more other operating parameters may be adjusted to regulate performance. Various example operating parameters that can be adjusted to regulate performance will now be described.
[0061] You can enable RTS / CTS flow control to improve reliability or disable RTS / CTS flow control to improve performance.
[0062] When implementing beamforming, the size of the beamforming matrix is typically Nss-by-Nant, where Nss represents the number of spatial streams to be transmitted and Nant represents the total number of antennas. The elements of the beamforming matrix are typically, for example, composed of... Figure 2 System 200 calculates based on feedback received from one or more other stations communicating with system 200. The feedback frames are called compressed beamforming (CBF) frames. Such feedback frames can be used, alone or together with per-tone SNR, as input to optimization engine 202, and can be used to generate matrices that determine whether to adjust performance and / or to inform adjustments to one or more operating parameters such as Nss or modulation rate to improve or reduce reliability.
[0063] OFDMA is a multi-user version of OFDM. Multiple access is implemented in OFDMA by allocating a subset of subcarriers to each user, which allows for simultaneous low data rate transmissions from several users. OFDMA can be enabled to reduce latency, which in turn improves reliability, or OFDMA can be disabled to improve performance. The use of OFDMA can be triggered, for example, by radio state identification such as small packets, denser environments with congestion, or other criteria determined from parameters obtained by optimization engine 202.
[0064] As needed, multiple DL OFDMA RUs in a given allocation can be increased or decreased to improve reliability or performance. Adjusting the number of DL OFDMA RUs can be used as a way to compromise frequency diversity, power spectral density, and MCS selection. Within OFDMA, the multiple users, standby RUs, and MCS within each of those RUs are examples of operational parameters that can be adjusted (e.g., turned on or off, increased or decreased) to regulate the performance of the wireless network. Therefore, determining the operational parameters to be adjusted in this and other embodiments can involve a multidimensional determination or solution to be solved together.
[0065] In the IEEE 802.11ax protocol, UL OFDMA is a feature designed to improve WLAN efficiency. Sites such as access points (APs) can schedule multiple client sites to simultaneously transmit uplink frames on different root units (RUs) via downlink trigger frames. An RU may include one or more OFDMA subcarriers. To realize the full potential of the performance gains associated with UL OFDMA, the AP can determine the channel quality for each client site to perform better RU allocation. UL OFDMA allocation for single or multiple users can be used, turned on or off, or otherwise tunable to achieve the desired effect on reliability and performance. For example, the AP can request block acknowledgments (BACKs) from multiple sites, each of which can respond back in UL OFDMA format, resulting in efficient transmission and improved performance. Transmission can be even more efficient where the BACK causes sites to send their acknowledgments back to the AP substantially simultaneously. System 200 can use parameters obtained from the receiving sites with which it communicates to control the uplink rate on system 200, including the error vector magnitude (EVM) per tone.
[0066] The aggregate size, such as the size of A-MSDU or A-MPDU, can be adjusted up or down to regulate the performance of the wireless network.
[0067] MU-MIMO can be enabled to improve reliability or disabled to improve performance. Alternatively or additionally, when MU-MIMO is enabled to tune performance, various operating parameters associated with MU-MIMO can be adjusted. For example, the MU-MIMO rate can be adjusted to tune performance; for instance, the MU-MIMO rate can be selected as conservative and reliable to improve reliability. As another example, the duration of packet wait timeouts for services filling MU-MIMO transmissions at stations in the MU-MIMO group can be adjusted to tune performance. Furthermore, the formation of the MU-MIMO group (e.g., the size or composition of the MU-MIMO group) can be adjusted, for example, to minimize latency or at least reduce latency rather than maximize performance.
[0068] The duration of the guard band or guard interval can be adjusted to regulate performance. For example, increasing the guard interval can improve reliability but reduce performance, while decreasing the guard interval can improve performance but reduce reliability. In some implementations, the IEEE 802.11ax protocol is implemented, which provides different guard interval modes that are more or less conservative for greater or lower reliability.
[0069] The retry rate for packet retransmission can be adjusted to regulate performance. For example, a more conservative retry rate can be used to improve reliability, such as by increasing the likelihood of a successful retransmission when a packet is first lost due to a collision. Alternatively, a less conservative retry rate can be used to improve performance.
[0070] The specific implementations described herein may involve or allow the AP to monitor incoming traffic queues to predict transient and steady-state traffic models in a wireless network. Alternatively or additionally, some implementations may use the peak performance of one or more potential implementations via a single user (SU), OFDMA, and MU to understand the broadcast time utilization of the wireless network. In this and other implementations, traffic queues can be monitored over a known period or duration to determine the amount of traffic available to each node on the DL transmit side. Similarly, pending traffic on the UL side can be determined by querying the STA via buffer status reports. If the rates on both the DL and UL sides are precisely known, a graph of all paths can be constructed to transmit these packets to clear all pending packets. In some implementations, each vertical layer of the graph can be a node, and the connection path to each other node can be SU, MU, or OFDMA. Theoretically, if there are N nodes with N1 OFDMA groups and N2 MU groups, there will be N paths for pure SU transmission as well as multiple permutations of the N, N1, N2 paths. The search for the fastest way to transmit all packets via all paths is the optimal solution. The solution will be NP-complete. Brute-force search is possible because OFDMA and the MU set are finite, and only one or more subsets of nodes will have pending traffic for a short period of time. The solution can be achieved via dynamic programming. Alternatively, a faster (but not necessarily the fastest) way to transmit all packets can be determined as a partially optimized solution. For example, paths can be searched until a solution that meets a certain threshold or condition is identified, without searching all paths.
[0071] The use of technologies such as SU, OFDMA, and / or MU can vary over time because the performance of the wireless network adjusts in response to changes in metrics generated based on parameters obtained by the optimization engine 202. Some implementations can adapt to newer service models / conditions in the downlink or uplink to continuously adjust for service demand states. Some implementations can calculate interference in the wireless network (both Wi-Fi and non-Wi-Fi) as part of the metrics measured or obtained by the optimization engine 202. Alternatively or additionally, per-node interference can be calculated and feedback can be provided to system 200, which makes decisions on how to adjust the performance of the wireless network.
[0072] In some implementations, metrics generated based on parameters obtained by optimization engine 202 can be compared to one or more thresholds to determine when to adjust the performance of the wireless network. In one example, two or more thresholds are provided to accommodate some hysteresis. For example, system 200 may determine to adjust the performance of the wireless network towards greater reliability in response to a metric moving from one side of a first threshold (e.g., below the first threshold) to the other side (e.g., above the first threshold). System 200 may then determine to adjust the performance of the wireless network back to greater performance in response to a metric moving from one side of a second threshold (e.g., above the second threshold) to the other side (e.g., below the first threshold). By establishing hysteresis in performance control, system 200 can avoid frequent switching of unwanted and unnecessary wireless network performance. When performance adjustment is reversed, it can be reversed all at once or gradually.
[0073] Figure 4 A flowchart of an example method 400 for adaptively adjusting the performance of a wireless network based on multidimensional input is shown. Method 400 can be implemented by any suitable system, apparatus, or device. For example, Figure 2 System 200 or other site or device described herein may perform or direct the performance of one or more operations associated with method 400. Although shown in discrete blocks, steps and operations associated with one or more blocks of method 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on a particular implementation.
[0074] Method 400 may include box 402, where, for example, by Figure 2 The optimization engine 202 obtains a first parameter associated with the wireless network. The first parameter obtained at box 402 includes multidimensional inputs. The first parameter may include one or more environment-specific parameters and one or more packet-specific parameters. The first parameter may be measured locally at system 200 or otherwise obtained, for example. Alternatively or additionally, the first parameter may be measured remotely or otherwise obtained, for example, at one or more sites communicating with system 200, and provided to system 200 by one or more sites.
[0075] The wireless medium in the wireless network to which System 200 and the site belong is typically highly directional. Therefore, parameter measurements taken by sensors at a given location on the wireless network are most effective at the sensor's location. Similarly, parameter measurements at System 200, operating as a transmitter, are most effective at System 200. However, when determining whether and how to adjust service performance from System 200 to another site, parameter measurements at the site, acting as a receiver (such as interference at one or more of the site's Rx antennas) can be more accurate and / or more informative than parameter measurements at System 200. Therefore, a site may, for example, measure one or more first parameters at one or more of its antennas and transmit these first parameters to System 200.
[0076] The remote first parameter from the site can be combined with the local first parameter of system 200 at system 200 to mitigate the impact of directionality on determining whether and how to adjust the performance of the wireless network. Assume that sensor 1 of system 200 measures a specific parameter at the location of system 200, where the measurement result of the specific parameter of sensor 1 is called parameter P. 1,1 Assume that sensor 2 and sensor 1 at the station simultaneously measure a specific parameter, but the measurement is performed at the station's location. The measurement result of the specific parameter by sensor 2 is P. 2,1 Due to parameter P 2,1 It was measured at the location of the site, therefore it is consistent with the parameter P measured at system 200. 1,1 In comparison, it provides more accurate measurements of specific parameters at and relative to the site. However, due to the measurement of parameter P at the site... 2,1 The measurement is then encoded and sent to the system 200 when the inherent delay, parameter P, is reached. 2,1 This represents the measurement result of a specific parameter that is old or slightly outdated when it reaches system 200. In contrast, when the measurement result of the old specific parameter arrives at system 200 from the site, system 200 may have the measurement result of the most recent specific parameter from sensor 1. Therefore, the specific implementation described herein can correlate or weight parameters obtained by optimization engine 202 from different locations. For example, if the local first parameter is generally inconsistent with the remote first parameter when considering latency, the weight of the local first parameter can be reduced. Conversely, if the local first parameter is generally consistent with the remote first parameter when considering latency, the weight of the local first parameter can be increased. The level of inconsistency or consistency between the local first parameter and the remote first parameter for latency compensation determines how much the local first parameter is weighted and in which direction it is weighted.
[0077] Alternatively or additionally, the first parameter obtained at box 402 may include at least one of the service constraints of the wireless network or user feedback. Service constraints of the wireless network may include at least one of the following: maximum throughput of the wireless network; best-effort delivery constraint; streaming video service delivery constraint; streaming audio service delivery constraint; voice service delivery constraint; parent constraint; the maximum number of streaming video channels allowed by the ISP whose communication is coupled to the wireless network; the maximum download speed allowed by the ISP; or the maximum upload speed allowed by the ISP, or other service constraints. User feedback may include feedback from the user regarding valid changes to the performance or operating parameters of the wireless network. Box 402 may be followed by box 404.
[0078] At box 404, a metric can be generated from a combination of the first parameters obtained at box 402. In the example, generating the metric at box 404 may include generating a traffic demand to channel availability ratio based on the first parameters obtained at box 402. The traffic demand to channel availability ratio can take all traffic buffers into account from a transmit perspective.
[0079] All buffers required for UL transmission (e.g., from sites using buffer status reports as part of the 802.1ax protocol, where each site generates current UL service demand in the next T milliseconds (ms)). Alternatively or additionally, channel availability may be determined based on the RF environment and CCA registration to see how much broadcast time is available to the AP and to obtain site reports (sensed from remote sites) to generate more accurate statistics and use these to obtain rationing. Generating metrics may alternatively or additionally include generating a broadcast time utilization metric based on the first parameter obtained at box 402. Generating metrics may include combining service demand with the channel availability ratio and broadcast time utilization metric to form a metric. For example, service demand with the channel availability ratio and broadcast time utilization metric may be added together to form a single metric, or they may be combined in some other way. Alternatively or additionally, deep learning may be applied to multidimensional inputs (e.g., the first parameter obtained at box 402) to formulate a function for generating metrics or a set of metrics. Box 404 may be followed by box 406.
[0080] At box 406, in response to determining the performance of the wireless network based on metrics, one or more operating parameters to be adjusted can be determined.
[0081] In some implementations, method 400 may further include, for example, determining, based on metrics, the performance of the wireless network to be adjusted before determining one or more operating parameters to be adjusted. The performance of the wireless network can be determined and adjusted based on metrics in at least one of the following ways: determining to adjust the overall performance of the wireless network; determining to adjust the performance of each service type; determining to adjust the performance of each user type; or determining to adjust the performance of each application type.
[0082] In this and other embodiments, determining the performance adjustment of the wireless network based on a metric may include comparing the metric to a threshold; and one of the following. First, in response to a metric moving from above a threshold to below a threshold, method 400 may include determining at least one of the following: reducing latency, reducing PER, reducing throughput, or reducing PPS. Or, in response to a metric moving from below a threshold to above a threshold, method 400 may include determining at least one of the following: increasing latency, increasing PER, increasing throughput, or increasing PPS. Box 406 may be followed by box 408.
[0083] At box 408, the performance of the wireless network can be adjusted by regulating one or more operating parameters defined at box 406. Generally, adjusting the performance of the wireless network may include at least one of the following: adjusting latency; adjusting PER; adjusting throughput; or adjusting PPS. More specifically, adjusting the performance of the wireless network by regulating one or more operating parameters may include at least one of the following: adjusting MCS; enabling or disabling RTS / CTS flow control; adjusting modulation rate; adjusting the NSS of the beamforming matrix; enabling or disabling OFDMA; adjusting the number of DL OFDMA RUs used for allocation; adjusting UL OFDMA allocation; adjusting the aggregation size of at least one of A-MSDU and A-MPDU; enabling or disabling MU-MIMO; adjusting one or more MU-MIMO parameters selected from: the duration of packet wait timeout for services filling MU-MIMO transmissions in a MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; adjusting the duration of the guard interval; or adjusting the retry rate for packet retransmission.
[0084] Method 400 may be modified, added to, or omitted without departing from the scope of this disclosure. For example, the operations of method 400 may be implemented in a different order. Additionally or alternatively, two or more operations of method 400 may be performed simultaneously. Furthermore, the operations and actions outlined in method 400 are provided as examples only, and some operations and actions may be optional, combined into fewer operations and actions, or extended into additional operations and actions without departing from the substance of the specific implementation.
[0085] Furthermore, in some specific implementations, method 400 may be executed repeatedly based on each data packet, periodically, randomly, or according to some other schedule or timing. For example, method 400 may also include repeatedly executing the following over time for each data packet in the wireless network.
[0086] The operation is to adapt the performance of the wireless network based on each data packet: obtain a current first parameter associated with the wireless network; generate a current metric from a combination of the current first parameters; in response to determining to adjust the current performance of the wireless network based on the current metric, determine one or more current operating parameters to be adjusted; and adjust the current performance by adjusting one or more current operating parameters.
[0087] Figure 5 An example site 500 suitable for use as a transmitter is shown. Site 500 may include... Figure 2 System 200 may include in Figure 2 In system 200, or which may correspond to Figure 2 System 200. Site 500 includes encapsulation engine 501, FEC encoder 502, optimization engine 504, bit interleavers 506-1 to 506-N (collectively referred to as bit interleavers 506), constellation mappers 508-1 to 508-N (collectively referred to as constellation mappers 508), precoding engine 510, DACs 512-1 to 512-M (collectively referred to as DACs 512), RF module 514, and antenna array 516.
[0088] exist Figure 5 In the example, data is provided to encapsulation engine 501. The encapsulation engine is part of a DLL. Therefore, packet-level aggregation and fragmentation operation parameters can be adjusted at the encapsulation level, for example, according to rules derived from packet-specific parameters and environment-specific parameters or other first parameters, to regulate the performance of the wireless network including site 500.
[0089] Data bits from the encapsulation engine 501 are encoded at the FEC encoder 502. An FEC encoder is provided in this example because it is a typical device for bit encoding in applications like this. This part and Figure 5 Other components can be replaced with optional components that can provide the antenna array 516 with data, bit-associated signals for transmission to a MIMO channel with an appropriate MCS.
[0090] exist Figure 5 In the example, optimization engine 504 obtains a first parameter for generating a metric, based on which performance tuning can be determined. Optimization engine 504 may include... Figure 2 The optimization engine 202 may include... Figure 2 The optimization engine 202 may correspond to Figure 2The optimization engine 202. The optimization engine 504 controls the FEC encoder 502 so that the encoding of data bits is based on operating parameters. According to a specific implementation, the optimization engine 504 may also control the bit interleaver 506. This may include incorporating knowledge about the MCS or one or more other operating parameters applicable to the data. According to a specific implementation, the optimization engine 504 may also control the constellation mapper 508. According to a specific implementation, the optimization engine 504 may also control the precoding engine 510, and may even provide a precoding matrix Q.
[0091] exist Figure 5 In the example, the encoded bits are demultiplexed into N s A number of independent space streams are provided to bit interleaver 506. The number of bit interleavers typically corresponds to the number of space streams, although it is conceivable that the system may have more (perhaps unused) or fewer (though this would have questionable values using existing technology) bit interleavers.
[0092] exist Figure 5 In the example, interleaved bits are mapped to constellation symbols (such as quadrature amplitude modulation) at constellation mapper 508. A large number of bits in the constellation correspond to "high" modulation (or high MCS). The number of constellation mappers will generally correspond to the number of spatial streams, although it is conceivable that a system could have more (perhaps unused) or fewer constellation mappers. Fewer constellation mappers than spatial streams can be used through multiplexing / switching, allowing one constellation mapper to serve multiple streams. This saves space, cost, etc. Constellation symbols are collected to form N. s ×1 constellation vector s.
[0093] exist Figure 5 In the example, the constellation vector s is combined with the precoding matrix Q at precoding engine 510. In this example, precoding engine 510 generates M. t ×1 emission vector x, where x = Qs. Alternatively, the constellation vector s and the precoding matrix Q can be combined in some other way.
[0094] exist Figure 5 In the example, the digital vector x is converted into an analog waveform at DAC 512. The number of DACs will typically correspond to the number of antennas in antenna array 516, although it is conceivable that DAC 512 may include more or fewer DACs.
[0095] exist Figure 5In the example, the analog waveform is up-converted to the desired carrier frequency at RF module 514. RF module 514 includes RF chains 518-1 to 518-M (collectively referred to as RF chains 518) and controller 520. The analog waveform is provided to antenna array 516 for transmission via RF chains 518 (the number of RF chains 518 typically corresponds to the number of antennas in antenna array 516). RF chains 518 may be part of circuitry including controller 520, which is typically capable of tuning to the desired carrier frequency.
[0096] Figure 6 An example site 600 suitable for use as a receiver is depicted. Site 600 includes an antenna array 602, an RF module 604, analog-to-digital converters (ADCs) 606-1 to 606-M (collectively referred to as ADC606), a feedback engine 608, a MIMO equalizer 610, constellation demappers 612-1 to 612-N (collectively referred to as constellation demappers 612), bit deinterleavers 614-1 to 614-N (collectively referred to as bit deinterleavers 614), an FEC decoder 616, and a packaging engine 618.
[0097] Station 600 includes components that may or may not be implemented, but are provided as examples. For instance, if station 600 is implemented with a receive chain parallel to the transmit chain, the signal processing (from MIMO equalizer 610 to FEC decoder 616) can be simplified and / or replaced.
[0098] exist Figure 6 In the example, the signal is collected by antenna array 602 and down-converted to baseband at RF module 604. RF module 604 includes RF chains 620-1 to 620-M (collectively referred to as RF chain 620) and controller 622. RF chain 620 may be part of circuitry including controller 622, which is capable of tuning to the desired carrier frequency. Figure 6 In the example, the analog baseband waveform received from RF module 604 is digitized at ADC 606 to produce M r ×1 digital receiver vector y.
[0099] exist Figure 6 In the example, feedback engine 608 provides feedback to a transmitter (not shown) that includes unprocessed data from various components in station 600, or feedback engine 608 can process data and send the processed data as feedback. Feedback may include any data that can be used to at least determine channel conditions, and more generally, to determine environmental parameters or other first parameters.
[0100] exist Figure 6 In the example, the MIMO equalizer 610 receives the digitized signal from the ADC 606 and applies matrix Q to form N. s×1 equilibrium vector. In Figure 6 In the example, the equilibrium vector passes through the constellation demapper 612 and at the bit deinterleaver 614, N s The data streams are multiplexed into a single stream, the data bits are obtained by the FEC decoder 616, and the data bits are provided to the encapsulation engine 618 for encapsulation into data packets.
[0101] Unless otherwise specified, it is obvious from the discussion that the use of terms such as detection, determination, analysis, identification, and scanning throughout the description may include the actions and processes of a computer system or other information processing device that manipulates and transforms data representing physical (electronic) quantities in the registers and memories of the computer system into other data representing physical quantities in the memory or registers or other information storage, transmission, or display devices of the computer system.
[0102] The example implementation may also involve means for performing the operations described herein. This means may be specifically constructed for the desired purpose, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-executable instructions may include, for example, instructions and data that cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device (e.g., one or more processors) to perform or control the performance of certain functions or groups of functions.
[0103] Exemplary devices may include a wireless access point (WAP) or site and incorporate a VLSI processor and program code for support. Example transceivers are coupled via an integrated modem to one of a cable, fiber optic, or digital subscriber backbone connection to the Internet to support wireless communication over a wireless local area network (WLAN), such as IEEE 802.11 compliant communication. The WiFi phase includes a baseband phase, as well as analog front-end (AFE) and radio frequency (RF) phases. In the baseband section, wireless communication transmitted to or received from each user / client / site is processed. The AFE and RF sections process up-conversion on each transmit path of the wireless transmission initiated in the baseband. The RF section also processes down-conversion of signals received on the receive path and passes them to the baseband for further processing.
[0104] An example device could be a MIMO device supporting up to N x N discrete communication streams via N antennas. In the example, the MIMO device signal processing unit can be implemented as N × N. In various specific implementations, the value of N can be 4, 6, 8, 12, 16, etc. Extended MIMO operation enables the use of up to 2N antennas to communicate with another similarly equipped wireless system. It should be noted that even if the system does not have the same number of antennas, an extended MIMO system can communicate with other wireless systems, but may not utilize some antennas at one site, thus reducing optimal performance.
[0105] Channel state information (CSI) from any device described herein can be extracted independently of changes in channel state parameters and used for spatial diagnostic services of the network, such as motion detection, proximity detection, and positioning for applications such as WLAN diagnostics, home security, health monitoring, smart home facility control, advanced care, vehicle tracking and monitoring, home or mobile entertainment, and automotive infotainment.
[0106] The methods and systems described herein may include obtaining multiple parameters associated with a wireless network. These parameters may include one or more environment-specific parameters and one or more packet-specific parameters. The method may include generating a metric from a combination of these parameters. The method may include determining one or more operational parameters to be adjusted in response to determining the performance of the wireless network based on the metric. The method may include adjusting the performance of the wireless network by adjusting the one or more operational parameters.
[0107] The method of generating metrics may include generating a service demand to channel availability ratio based on a plurality of first parameters; generating a broadcast time utilization metric based on a plurality of first parameters; and combining the service demand to channel availability ratio and the broadcast time utilization metric to form a metric. The method may also include determining, based on the metric, to adjust the performance of the wireless network, including: comparing the metric to a threshold; and one of the following: in response to a metric moving from above a threshold to below a threshold, determining at least one of the following: reducing latency, reducing packet error rate, reducing throughput, or reducing packets per second (PPS); or in response to a metric moving from below a threshold to above a threshold, determining at least one of the following: increasing latency, increasing packet error rate, increasing throughput, or increasing PPS.
[0108] The example system may include an optimization engine or other components or devices to perform the method. The optimization engine may be configured to adjust the performance of the wireless network by at least one of the following: adjusting latency; adjusting packet error rate; adjusting throughput; or adjusting packets per second (PPS).
[0109] The first parameters may also include at least one of the service constraints of the wireless network or user feedback.
[0110] When multiple first parameters also include service constraints, the service constraints of the wireless network may include at least one of the following: the maximum throughput of the wireless network; best-effort delivery constraint; streaming video service delivery constraint; streaming audio service delivery constraint; voice service delivery constraint; parent constraint; the maximum number of streaming video channels allowed by the Internet Service Provider (ISP) whose communication is coupled to the wireless network; the maximum download speed allowed by the ISP; or the maximum upload speed allowed by the ISP.
[0111] The optimization engine can be configured to obtain a plurality of first parameters by: receiving at least one of one or more environment-specific parameters measured locally at the system; receiving at least one of one or more packet-specific parameters measured locally at the system; receiving at least one remote measurement result of at least one of one or more environment-specific parameters from a remote wireless communication device; and receiving at least one remote measurement result of at least one of one or more packet-specific parameters from a remote wireless communication device.
[0112] The optimization engine can also be configured to adjust the performance of the wireless network based on metrics in at least one of the following ways: determining to adjust the overall performance of the wireless network; determining to adjust the performance of each service type; determining to adjust the performance of each user type; or determining to adjust the performance of each application type.
[0113] The optimization engine can be configured to adjust the performance of the wireless network by adjusting one or more operating parameters in at least one of the following ways: adjusting the MCS; enabling or disabling RTS / CTS flow control; adjusting the modulation rate; adjusting the NSS of the beamforming matrix; enabling or disabling OFDMA; adjusting the number of DL OFDMA RUs used for allocation; adjusting UL OFDMA allocation; adjusting the aggregation size of at least one of A-MSDU and A-MPDU; enabling or disabling MU-MIMO; adjusting one or more MU-MIMO parameters selected from: the duration of packet wait timeout for services filling MU-MIMO transmissions in a MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; adjusting the duration of the guard interval; or adjusting the retry rate of packet retransmission.
[0114] The optimization engine can also be configured to adapt the performance of the wireless network based on each packet by repeatedly performing the following operations over time for each packet in the wireless network: obtaining a plurality of current first parameters associated with the wireless network; generating a current metric from a combination of the plurality of current first parameters; determining one or more current operating parameters to be adjusted in response to determining the current performance of the wireless network based on the current metric; and adjusting the current performance by adjusting one or more current operating parameters.
[0115] The optimization engine can be configured to generate metrics by: generating a service demand to channel availability ratio based on multiple first parameters; generating a broadcast time utilization metric based on multiple first parameters; and combining the service demand to channel availability ratio and the broadcast time utilization metric to form a metric. The optimization engine can also be configured to determine performance adjustments for the wireless network based on the metric, including: comparing the metric to a threshold; and one of the following: in response to a metric moving from above a threshold to below a threshold, determining at least one of the following: reducing latency, reducing packet error rate, reducing throughput, or reducing packets per second (PPS); or in response to a metric moving from below a threshold to above a threshold, determining at least one of the following: increasing latency, increasing packet error rate, increasing throughput, or increasing PPS.
[0116] Unless the specific arrangements described herein are mutually exclusive, the various embodiments described herein may be combined, in whole or in part, to enhance system functionality and / or produce complementary functions. Similarly, aspects of the embodiments may be implemented in independent arrangements. Therefore, the above description has been given by way of example only and detailed modifications are possible within the scope of the invention. All changes within the meaning and scope of the equivalents of the claims are covered therewith.
Claims
1. A method for adjusting the performance of a wireless network, comprising: Obtain multiple parameters associated with the wireless network from different locations, wherein the multiple parameters include one or more environment-specific parameters and one or more packet-specific parameters; The parameters measured locally are correlated or weighted with the parameters measured remotely with delay compensation, where: The parameters measured locally include: environment-specific parameters of one or more environment-specific parameters of local measurement, or packet-specific parameters of one or more packet-specific parameters of local measurement; The parameters for delay-compensated remote measurements include: environment-specific parameters of the remote measurement for which delay between the remote measurement and local reception is compensated, or data packet-specific parameters of the remote measurement for which delay between the remote measurement and local reception is compensated; and Correlating or weighting the parameters of locally measured data with those of remotely measured data with delay compensation includes determining the amount and direction of weight adjustments for the parameters of locally measured data based on the level of consistency or inconsistency between the parameters of locally measured data and those of remotely measured data with delay compensation. A metric is generated from a combination of multiple parameters, including those that have been correlated or weighted by local measurements. In response to determining to adjust the performance of the wireless network based on the metric, one or more operating parameters to be adjusted are determined; and The performance of the wireless network can be adjusted by regulating one or more of the operating parameters.
2. The method of claim 1, wherein adjusting the performance by adjusting the one or more operating parameters comprises at least one of the following: Adjusting the delay; Adjust the packet error rate; Adjust throughput; or Adjust the packets per second (PPS).
3. The method according to claim 1, wherein the plurality of parameters further includes at least one of the service constraints of the wireless network or user feedback.
4. The method according to claim 3, wherein: The plurality of parameters also includes the service constraints; and The service constraints of the wireless network include at least one of the following: The maximum throughput of the wireless network; Best-effort delivery of constraints; Delivery constraints for streaming video services; Delivery constraints for streaming audio services; Voice service delivery constraints; paternal restraint; The maximum number of streaming video channels allowed by an Internet Service Provider (ISP) that is communicatively coupled to the wireless network; The maximum download speed allowed by the ISP; or The maximum upload speed allowed by the ISP.
5. The method of claim 1, wherein adjusting the performance of the wireless network by adjusting the one or more operating parameters comprises at least one of the following: Adjust the modulation rate; Adjust the Nss of the beamforming matrix; Enable or disable Orthogonal Frequency Division Multiple Access (OFDMA); Adjust the number of downlink DL OFDMA resource units (RUs) used for allocation; Adjust uplink OFDMA allocation; Adjust the aggregate size of at least one of the aggregated Media Access Control MAC Service Data Unit (A-MSDU) and the aggregated MAC Protocol Data Unit (A-MPDU); Enable or disable multi-user MU-Multiple-Input Multiple-Output MIMO; Adjust one or more MU-MIMO parameters selected from the following: the duration of the packet wait timeout for services filling MU-MIMO transmissions at stations in the MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; or Adjust the duration of the protection interval.
6. The method of claim 1, wherein generating the metric comprises: The ratio of service requirements to channel availability is generated based on multiple parameters. Generate a broadcast time utilization metric based on multiple parameters; as well as The metrics combine business demand with channel availability ratio and broadcast time utilization to form a metric.
7. The method of claim 6, wherein determining the performance adjustment of the wireless network based on the metric comprises: Compare the metric with the threshold; as well as One of the following: In response to a metric moving from above a threshold to below a threshold, determine at least one of the following: reduce latency, reduce packet error rate, reduce throughput, or reduce packets per second (PPS); or In response to a metric moving from below a threshold to above a threshold, determine at least one of the following: increased latency, increased packet error rate, increased throughput, or increased PPS.
8. The method of claim 1, further comprising determining, based on the metric, the performance of the wireless network by at least one of the following: Determine and adjust the overall performance of the wireless network; Determine how to tune the performance of each business type; Determine how to tune the performance for each user type; or Determine how to tune the performance for each application type.
9. The method of claim 1, wherein adjusting the performance of the wireless network by adjusting the one or more operating parameters comprises at least one of the following: Adjust the modulation and coding scheme (MCS); Enable or disable Request to Send RTS / Clear Send CTS flow control; Adjust the modulation rate; Adjust the Nss of the beamforming matrix; Enable or disable Orthogonal Frequency Division Multiple Access (OFDMA); Adjust the number of downlink DL OFDMA resource units (RUs) used for allocation; Adjust uplink OFDMA allocation; Adjust the aggregate size of at least one of the aggregated Media Access Control MAC Service Data Unit (A-MSDU) and the aggregated MAC Protocol Data Unit (A-MPDU); Enable or disable multi-user MU-Multiple-Input Multiple-Output MIMO; Adjust one or more MU-MIMO parameters selected from the following: the duration of the packet wait timeout for the service filling MU-MIMO transmission at the site in the MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; Adjust the duration of the protection interval; or Adjust the retry rate for data packet retransmission.
10. The method of claim 1, further comprising repeatedly performing the following over time for each data packet in the wireless network: Obtain the current parameters associated with the wireless network; The current metric is generated from the combination of the current multiple parameters; In response to determining the current performance of the wireless network based on the current metric, one or more current operating parameters to be adjusted are determined; as well as The current performance is adjusted by adjusting one or more of the current operating parameters.
11. The method of claim 6, further comprising: Service requirements are determined by considering at least one of the pending services in the transmit buffer or the pending services in the uplink UL transmit buffer. as well as Channel availability is determined based on the RF environment and Clear Channel Assessment (CCA) registration to see how much broadcast time is available; in: The service demand to channel availability ratio is the ratio of the determined service demand to the determined channel availability; and Combining service demand with channel availability ratio and broadcast time utilization metrics to form a metric includes adding service demand together with channel availability ratio and broadcast time utilization metrics.
12. The method of claim 1, wherein correlating or weighting the locally measured parameters with the delay-compensated remote measured parameters further comprises one of the following: If the parameters measured locally are generally inconsistent with the parameters measured remotely with delay compensation, then the weight of the parameters measured locally is reduced; and If the parameters measured locally are generally consistent with the parameters measured remotely with delay compensation, then the weight of the parameters measured locally is increased.
13. A system for adjusting the performance of a wireless network, comprising: One or more hardware components used to process digital data; A digital-to-analog converter (DAC) is coupled to one or more of the hardware components to convert digital data into analog waveforms; An RF chain, coupled to a DAC, is used to upconvert analog waveforms to the carrier frequency. and The optimization engine is coupled to one or more of the hardware components and configured to: Obtain multiple parameters associated with the wireless network from different locations, including one or more packet-specific parameters and one or more environment-specific parameters; The parameters measured locally are correlated or weighted with the parameters measured remotely with delay compensation, where: The parameters measured locally include: environment-specific parameters of one or more environment-specific parameters of local measurement, or packet-specific parameters of one or more packet-specific parameters of local measurement; The parameters for delay-compensated remote measurements include: environment-specific parameters of the remote measurement for which delay between the remote measurement and local reception is compensated, or data packet-specific parameters of the remote measurement for which delay between the remote measurement and local reception is compensated; and Correlating or weighting the parameters of locally measured data with those of remotely measured data with delay compensation includes determining the amount and direction of weight adjustments for the parameters of locally measured data based on the level of consistency or inconsistency between the parameters of locally measured data and those of remotely measured data with delay compensation. A metric is generated from a combination of multiple parameters, including those that have been correlated or weighted by local measurements. In response to determining to adjust the performance of the wireless network based on the metric, one or more operating parameters of the one or more hardware components to be adjusted are determined; and The performance of the wireless network can be adjusted by regulating one or more of the operating parameters.
14. The system of claim 13, wherein the optimization engine is configured to adjust the performance of the wireless network by regulating one or more operating parameters by at least one of the following: Adjusting the delay; Adjust the packet error rate; Adjust throughput; or Adjust the packets per second (PPS).
15. The system of claim 13, wherein the plurality of parameters further includes at least one of the service constraints of the wireless network or user feedback.
16. The system according to claim 15, wherein: The plurality of parameters also includes the service constraints; and The service constraints of the wireless network include at least one of the following: The maximum throughput of the wireless network; Best-effort delivery of constraints; Delivery constraints for streaming video services; Delivery constraints for streaming audio services; Voice service delivery constraints; paternal restraint; The maximum number of streaming video channels allowed by an Internet Service Provider (ISP) that is communicatively coupled to the wireless network; The maximum download speed allowed by the ISP; or The maximum upload speed allowed by the ISP.
17. The system of claim 13, wherein the optimization engine is further configured to adjust the performance of the wireless network based on the metric by at least one of the following: Determine and adjust the overall performance of the wireless network; Determine how to tune the performance of each business type; Determine how to tune the performance for each user type; or Determine how to tune the performance for each application type.
18. The system of claim 13, wherein the optimization engine is configured to adjust the performance of the wireless network by regulating one or more operating parameters by at least one of the following: Adjust the modulation and coding scheme (MCS); Enable or disable Request to Send RTS / Clear Send CTS flow control; Adjust the modulation rate; Adjust the Nss of the beamforming matrix; Enable or disable Orthogonal Frequency Division Multiple Access (OFDMA); Adjust the number of downlink DL OFDMA resource units (RUs) used for allocation; Adjust uplink OFDMA allocation; Adjust the aggregate size of at least one of the aggregated Media Access Control MAC Service Data Unit (A-MSDU) and the aggregated MAC Protocol Data Unit (A-MPDU); Enable or disable multi-user MU-Multiple-Input Multiple-Output MIMO; Adjust one or more MU-MIMO parameters selected from the following: the duration of the packet wait timeout for the service filling MU-MIMO transmission at the site in the MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; Adjust the duration of the protection interval; or Adjust the retry rate for data packet retransmission.
19. The system of claim 13, wherein the optimization engine is further configured to repeatedly perform the following over time for each data packet in the wireless network: Obtain the current parameters associated with the wireless network; The current metric is generated from the combination of the current multiple parameters; In response to determining the current performance of the wireless network based on the current metric, one or more current operating parameters to be adjusted are determined; as well as The current performance is adjusted by adjusting one or more of the current operating parameters.
20. The system of claim 13, wherein the optimization engine is configured to generate metrics by: The ratio of service requirements to channel availability is generated based on multiple parameters. Generate broadcast time utilization metrics based on multiple parameters; and The metrics combine business demand with channel availability ratio and broadcast time utilization to form a metric.
21. The system of claim 20, wherein the optimization engine is configured to determine, based on the metric, the performance of the wireless network by: Compare the metric with the threshold; and One of the following: In response to a metric moving from above a threshold to below a threshold, determine at least one of the following: reduce latency, reduce packet error rate, reduce throughput, or reduce packets per second (PPS); or In response to a metric moving from below a threshold to above a threshold, determine at least one of the following: increased latency, increased packet error rate, increased throughput, or increased PPS.
22. A method for adjusting the performance of a wireless network, comprising: Obtain multiple parameters associated with the wireless network, wherein the multiple parameters include one or more environment-specific parameters and one or more packet-specific parameters; Generate metrics from a combination of multiple parameters; In response to determining to adjust the performance of the wireless network based on the metric, one or more operating parameters to be adjusted are determined; as well as Adjusting the performance of the wireless network by adjusting one or more operating parameters includes at least one of the following: Adjust the modulation rate; Adjust the Nss of the beamforming matrix; Enable or disable Orthogonal Frequency Division Multiple Access (OFDMA); Adjust the number of downlink DL OFDMA resource units (RUs) used for allocation; Adjust uplink OFDMA allocation; Adjust the aggregate size of at least one of the aggregated Media Access Control MAC Service Data Unit (A-MSDU) and the aggregated MAC Protocol Data Unit (A-MPDU); Enable or disable multi-user MU-Multiple-Input Multiple-Output MIMO; Adjust one or more MU-MIMO parameters selected from the following: the duration of the packet wait timeout for the service filling MU-MIMO transmission at the site in the MU-MIMO group, MU-MIMO group formation, and MU-MIMO rate; Adjust the duration of the protection interval; or Adjust the retry rate for data packet retransmission.