WO2022039753A1 - Modifications based on signal-to-noise ratios - Google Patents

Modifications based on signal-to-noise ratios Download PDF

Info

Publication number
WO2022039753A1
WO2022039753A1 PCT/US2020/047356 US2020047356W WO2022039753A1 WO 2022039753 A1 WO2022039753 A1 WO 2022039753A1 US 2020047356 W US2020047356 W US 2020047356W WO 2022039753 A1 WO2022039753 A1 WO 2022039753A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
computing device
priority
snr
instructions
Prior art date
Application number
PCT/US2020/047356
Other languages
French (fr)
Inventor
I-Chen Lin
Cheng-Fang Lin
Tzu-Chiang Cheng
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2020/047356 priority Critical patent/WO2022039753A1/en
Publication of WO2022039753A1 publication Critical patent/WO2022039753A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/336Signal-to-interference ratio [SIR] or carrier-to-interference ratio [CIR]

Definitions

  • End-to-end communication networks may include radio communications networks as well as wireline communication networks.
  • Radio communication networks include network access nodes, and terminal devices, and provide a radio access network for such terminal devices to communicate with other terminal devices or access various networks via the network access nodes.
  • cellular radio communication networks may provide a system of cellular base stations that serve terminal devices within an area to provide communication to other terminal devices or radio access to applications and services such as voice, text, multimedia, Internet, etc.
  • short-range radio access networks such as Wireless Local Area Network (WLAN) networks may provide a system of WLAN access points (APs) that may provide access to other terminal devices within the WLAN network or other networks such as a cellular network or a wireline communication networks.
  • the quality of a cellular signal may be determined by the Signal-To-Noise Ratio (SNR), which represents a comparison between the levels of the desired signal and background noise.
  • SNR Signal-To-Noise Ratio
  • FIG. 1 illustrates an example block diagram of a computing device including instructions to modify an application priority based on SNR, consistent with the present disclosure.
  • FIG. 2 illustrates an example block diagram of a computing device including instructions for modifying the application priority based on system utilization index and/or radio bandwidth usage, consistent with the present disclosure.
  • FIG. 3 illustrates an example computing device for modifying a hardware performance factor for a computing device based on a SNR delta exceeding a delta threshold, consistent with the present disclosure
  • Terminal devices including mobile phones, portable computing devices, and desktop computers among others, are capable of running many applications.
  • An application, or data communication application refers to or includes a computer software package that performs a specific function for an end user.
  • Non-limiting examples applications include those that stream multimedia content, applications that aide in navigation, web surfing applications that receive automated data updates from websites, texting applications, file transfer applications, and messaging applications, among other examples.
  • a computing device is capable of running multiple applications at the same time, the rate of data transfer by the computing device may decline when multiple applications are running. For example, while multimedia content is streaming, the file transfer rate of the computing device may decrease. Many factors may result in erratic connections and slow application performance, which impedes the use and benefits of applications.
  • a non-transitory computer-readable storage medium includes instructions that when executed cause a computing device to generate current SNR data, compare the current SNR data with baseline SNR data for the computing device, and determine an SNR delta based on the comparison.
  • the non-transitory computer-readable storage medium further includes instructions that when executed cause the computing device to, in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device.
  • a non-transitory computer-readable storage medium includes instructions that when executed cause a computing device to generate current SNR data, compare the current SNR data with baseline SNR data, and determine a SNR delta based on the comparison.
  • the non-transitory computer- readable storage medium further includes instructions that when executed cause the computing device to, responsive to the SNR delta exceeding a delta threshold, determine a first system utilization index and a first radio bandwidth usage, where the first system utilization index and the first radio bandwidth usage are associated with a first application executing at the computing device.
  • the non-transitory computer-readable storage medium further includes instructions that when executed cause the computing device to modify an application priority of the first application based on the first system utilization index, the first radio bandwidth usage, or combinations thereof.
  • a computing device includes a communication circuit to transmit or receive data over a radio communications network, a memory to store baseline signal-to-noise ratio (SNR) data for the computing device, and a processor.
  • the processor is to compare current SNR data from the communication circuit with the baseline SNR data, determine an SNR delta based on the comparison, and responsive to the SNR delta exceeding a delta threshold, modify a hardware performance factor for the computing device.
  • SNR signal-to-noise ratio
  • FIG. 1 illustrates an example block diagram of a computing device including instructions to modify an application priority based on SNR, consistent with the present disclosure.
  • the computing device 100 may include a processor 102, a computer-readable storage medium 104, and a memory 106.
  • the processor 102 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware device suitable to control operations of the computing device 100.
  • Computer-readable storage medium 104 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
  • computer-readable storage medium 104 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, etc.
  • the computer-readable storage medium may be a non-transitory storage medium, where the term ‘non- transitory’ does not encompass transitory propagating signals.
  • the computer-readable storage medium 104 may be encoded with a series of executable instructions 108-114.
  • computer- readable storage medium 104 may implement a memory 106.
  • Memory 106 may be any non-volatile memory, such as EEPROM, flash memory, etc.
  • the computer-readable storage medium 104 may store instructions 108 that, when executed, cause the computing device 100 to generate current SNR data.
  • current SNR data refers to or includes SNR data from a particular point or interval of time.
  • instructions 1 10 may cause the computing device 100 to compare the current SNR data with baseline SNR data for the computing device.
  • a baseline SNR refers to or includes SNR data from a point or interval of time preceding the point or interval of time for the current SNR.
  • the measurement of the current SNR, and comparison against a baseline SNR may be used by the computing device 100 to determine when modifications to the computing device 100 are to be implemented. Accordingly, instructions 1 12 may cause the computing device 100 to determine an SNR delta based on the comparison, and instructions 114 may cause the computing device 100 to in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device.
  • the processor time may be shared between a plurality of applications running on the computing device 100 based on their central processing unit (CPU) priority level. The higher the CPU priority level of a process is, the more the processor time is assigned to it.
  • CPU central processing unit
  • the application priority may be modified based on the SNR for the computing device 100, thereby improving operating performance of the computing device 100.
  • a plurality of applications may be prioritized in the following order from highest priority to lowest priority: Application A, Application B, Application C, Application D.
  • the plurality of applications may be prioritized in the following order from highest priority to lowest priority: Application B, Application C, Application A, Application D.
  • the instructions 1 14 to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to assign a first priority to the application and a second priority to another application operating on the computing device, where the first priority is higher than the second priority. For instance, a first application, Application B, may be given a first priority higher than a second application, Application A. The instructions further cause the computing device to execute the first priority application before executing the second priority application. Following with the example from above, Application B, having a higher priority than Application A, would therefore execute before Application A.
  • Application B may begin execution prior to Application A though both processes may run at the same time.
  • an application may be suspended in order to reduce the SNR.
  • the instructions 114 to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to suspend operation of the second priority application responsive to the SNR delta exceeding the delta threshold.
  • the lower applications may be suspended until the SNR improves.
  • a single application may be suspended, or a plurality of applications may be suspended. For example, if Application B has the highest priority, Applications C, A, and D may be suspended. Additionally and/or alternatively, Application D may be suspended. In other words, Application C, Application A, or Application D may be suspended, or any combination of Application C, Application A, and Application D may be suspended.
  • the application priority may be modified in response to a determination that the SNR delta threshold exceeds a delta threshold.
  • an SNR delta threshold refers to or includes a change in the SNR from a baseline measurement in an amount that is expected to impact performance of the computing device 100.
  • the SNR delta threshold may be user-configurable, in that one user may specify a higher SNR delta at which application priority is modified, whereas a different user may specify a lower SNR delta at which the application priority is modified.
  • the process may continue for repeated SNR measurement. For instance, at various intervals (e.g., every 10 seconds) the SNR for computing device 100 may be obtained. The SNR from the previous interval (e.g., 10 seconds prior) may be used as the baseline SNR data. If, after modification of the application priority, the SNR delta still exceeds the delta threshold, the application priority may be modified further. For instance, in the previous example, the application priority progressed from highest priority to lowest priority in the following order: Application B, Application A, Application C, Application D. In this example, the lowest application, i.e., Application D, may be suspended responsive to the SNR delta exceeding a delta threshold.
  • the next lowest application i.e., Application C
  • the application priority may return to the previous order of application priority and/or the suspended application may begin execution. For instance, the applications may return to an application priority from highest priority to lowest priority in the order of: Application A, Application B, Application C, Application D.
  • the computer-readable storage medium 104 is not limited to the instructions illustrated in FIG. 1 , and additional and/or different instructions may be stored and executed by processor 102 and/or other components of computing device 100.
  • FIG. 2 illustrates an example block diagram of a computing device 200 including instructions for modifying the application priority based on system utilization index and/or radio bandwidth usage, consistent with the present disclosure.
  • the computing device 200 may include similar or different components as compared to computing device 100 illustrated in FIG. 1 .
  • computing device 200 includes a processor 202, a computer-readable storage medium 204, and a memory 206.
  • the computer-readable storage medium 204 may store instructions 208 that, when executed, cause the computing device 200 to generate current SNR data.
  • instructions 210 may cause the computing device 200 to compare the current SNR data with baseline SNR data for the computing device, and instructions 212 may cause the computing device 200 to determine an SNR delta based on the comparison.
  • Instructions 213 may cause the computing device 200 to determine a system utilization index and a radio bandwidth usage, responsive to the SNR delta exceeding a delta threshold.
  • a system utilization index refers to or includes a numerical value determined as a function of percent CPU usage for an application, a percent power consumption for the application, a percent memory usage for the application, and a percent graphical processing unit (GPU) usage for the application.
  • the computer- readable storage-medium 204 further includes instructions that when executed cause the computing device 200 to determine the first system utilization index as a function of central processing unit (CPU) usage, power consumption, memory usage, graphics processing unit (GPU) usage, or a combination thereof.
  • a radio bandwidth usage refers to or includes a numerical value indicative of a lower wireless bandwidth threshold of the first application, at which the application will operate as intended.
  • a system utilization index may be determined for Application A.
  • the system utilization index may be determined for Application A according to the following equation: % CPU Usage of Application A relative to Total CPU Usage + % Power Consumption of Application A relative to Total Power Consumption + Memory Usage of Application A relative to Total Memory Usage + % GPU Usage of Application A relative to Total GPU (Eq. 1 ).
  • the system utilization index may similarly be determined for Application B, Application C, and Application D.
  • Instructions 214 may cause the computing device 200 to modify an application priority of the first application based on the first system utilization index, the first radio bandwidth usage, or combinations thereof. For instance, the system utilization index and radio bandwidth usage, may be determined for each application executing on computing device 200. The applications may be ordered from highest system utilization index to lowest system utilization index. Additionally and/or alternatively, the applications may be ordered from highest radio bandwidth usage to lowest radio bandwidth usage. Moreover, the applications may be prioritized based on both the system utilization index and the radio bandwidth usage. Accordingly, the computer-readable storagemedium 204 may include instructions that when executed cause the computing device 200 to determine for a second application operating on the computing device, a second system utilization index.
  • the instructions 214 to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first system utilization index is higher than the second system utilization index. That is, if Application B has a higher utilization index than Application A, then Application B would be assigned a higher application priority than Application A.
  • the computer-readable storage-medium 204 includes instructions that when executed cause the computing device 200 to determine the first radio bandwidth usage for the first application as a function of a lower wireless bandwidth threshold of the first application.
  • the computer-readable storage-medium 204 includes instructions that when executed cause the computing device 200 to determine for a second application operating on the computing device, a second radio bandwidth usage.
  • the instructions 214 to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first radio bandwidth usage is higher than the second radio bandwidth usage. That is, if Application B has a higher radio bandwidth usage than Application A, then Application B would be assigned a higher application priority than Application A.
  • the instructions 214 to modify the application priority of the first application include instructions to suspend operation of the first application responsive to a determination that the first application has a lower system utilization index than the second application. That is, if Application A has a lower system utilization index than Application B, then Application A would be suspended, as discussed with regards to FIG. 1 .
  • the instructions 214 to modify the application priority of the first application include instructions to suspend operation of the first application responsive to a determination that the first application has a lower radio bandwidth usage than the second application. That is, if Application A has a lower radio bandwidth usage than Application B, then Application A would be suspended, as discussed with regards to FIG. 1 .
  • the process may continue for repeated SNR measurement.
  • the SNR for computing device 200 may be obtained.
  • the SNR from the previous interval e.g., 10 seconds prior
  • the application priority may be modified further based on system utilization index and radio bandwidth usage.
  • the next lowest application i.e., Application C
  • the application priority may return to the previous order of application priority and/or the suspended application may begin execution.
  • the computer-readable storage medium 204 is not limited to the instructions illustrated in FIG. 2, and additional and/or different instructions may be stored and executed by processor 202 and/or other components of computing device 200.
  • FIG. 3 illustrates an example computing device 300 for modifying a hardware performance factor for a computing device based on a SNR delta exceeding a delta threshold, consistent with the present disclosure.
  • the computing device 300 may include the same or different components as computing device 100 illustrated in FIG. 1 , and computing device 200 illustrated in FIG. 2.
  • the computing device 300 includes a communication circuit 303 to transmit and/or receive data over a radio communications network.
  • the computing device 300 may include a memory 306 to store baseline SNR data for the computing device 300, and a processor 302.
  • the processor 302 is to perform a number of processes, such as those discussed with regards to FIG.1 and FIG. 2. As illustrated in FIG. 3, the processor 302 is to perform the processes in box 305. At 316, the processor is to determine if an SNR delta threshold is exceeded. For instance, the processor 302 may compare current SNR data from the communication circuit 303 with the baseline SNR data and determine an SNR delta based on the comparison. If at 318 the SNR delta threshold is not exceeded, the priority of applications executing on computing device 300 remain unmodified. At 320 and responsive to the SNR delta exceeding a delta threshold, the processor is to take some action. For instance, as discussed with regards to FIG. 1 and FIG.
  • the application priority may be determined in a number of ways, and the highest priority application or applications may keep running at 322. The lowest priority application or applications may be suspended by the processor at 324. Additionally and/or alternatively to suspending applications, and adjusting priority of the executed application, the processor 302 may modify a hardware performance factor for the computing device 300. Once the modification or modifications are made by processor 302, the process returns to box 316 and the SNR delta is determined at the next interval. In such a manner, the SNR for the computing device 300 is repeatedly assessed, and modifications are implemented based on the measured SNR data.
  • a hardware performance factor refers to or includes a rate of CPU usage, a rate of GPU usage, a communications protocol used by the computing device 300, a peripheral component interconnect express (PCI- E) protocol used by the computing device 300, a method of clock modulation, or combinations thereof.
  • the processor may determine an application priority based on a rate of CPU usage, a rate of GPU usage, or combinations thereof.
  • the processor 302 may modify various aspects that impact CPU usage and/or GPU usage.
  • a non-limiting example of a hardware performance factor includes a communications protocol used by the computing device 300.
  • the processor 302 may change a universal serial bus (USB) protocol used by the computing device 300.
  • USB universal serial bus
  • the processor 302 may switch the computing device from using a USB 3.0 protocol to using a USB 2.0 protocol.
  • the processor 302 may change a peripheral component interconnect express (PCI-E) protocol used by the computing device 300.
  • PCI-E peripheral component interconnect express
  • the computing device may be given a state of “L0.”
  • the computing device may be given a state of “L1 ,” in which portions of the PCIe transceiver logic may be turned off. For instance receive and transmission ports may be turned off, and/or common-mode keepers may be turned off.
  • the hardware performance factor may include a spread spectrum clock (SSC) modulation.
  • the processor 302 is to enable SSC modulation responsive to the SNR delta exceeding the delta threshold.
  • SSC spread spectrum clock

Abstract

A non-transitory computer-readable storage medium includes instructions that when executed cause a computing device to perform modifications based on SNR. The instructions may cause the computing device to generate current SNR data, compare the current SNR data with baseline SNR data for the computing device, and determine an SNR delta based on the comparison. The instructions further cause the computing device to, in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device.

Description

MODIFICATIONS BASED ON SIGNAL-TO-NOISE RATIOS
Background
[0001] End-to-end communication networks may include radio communications networks as well as wireline communication networks. Radio communication networks include network access nodes, and terminal devices, and provide a radio access network for such terminal devices to communicate with other terminal devices or access various networks via the network access nodes. For example, cellular radio communication networks may provide a system of cellular base stations that serve terminal devices within an area to provide communication to other terminal devices or radio access to applications and services such as voice, text, multimedia, Internet, etc., while short-range radio access networks such as Wireless Local Area Network (WLAN) networks may provide a system of WLAN access points (APs) that may provide access to other terminal devices within the WLAN network or other networks such as a cellular network or a wireline communication networks. The quality of a cellular signal may be determined by the Signal-To-Noise Ratio (SNR), which represents a comparison between the levels of the desired signal and background noise.
Brief Description of the Drawings
[0002] Various examples may be more completely understood in consideration of the following detailed description in connection with the accompanying drawings, in which: [0003] FIG. 1 illustrates an example block diagram of a computing device including instructions to modify an application priority based on SNR, consistent with the present disclosure.
[0004] FIG. 2 illustrates an example block diagram of a computing device including instructions for modifying the application priority based on system utilization index and/or radio bandwidth usage, consistent with the present disclosure.
[0005] FIG. 3 illustrates an example computing device for modifying a hardware performance factor for a computing device based on a SNR delta exceeding a delta threshold, consistent with the present disclosure
Detailed Description
[0006] Terminal devices, including mobile phones, portable computing devices, and desktop computers among others, are capable of running many applications. An application, or data communication application, refers to or includes a computer software package that performs a specific function for an end user. Non-limiting examples applications include those that stream multimedia content, applications that aide in navigation, web surfing applications that receive automated data updates from websites, texting applications, file transfer applications, and messaging applications, among other examples. [0007] Although a computing device is capable of running multiple applications at the same time, the rate of data transfer by the computing device may decline when multiple applications are running. For example, while multimedia content is streaming, the file transfer rate of the computing device may decrease. Many factors may result in erratic connections and slow application performance, which impedes the use and benefits of applications. One value which is used to measure performance of a computing device is a signal-to-noise ratio (SNR). SNR compares a level of signal power to a level of noise power. High utilization of applications on a computing device may affect the SNR, and therefore lead to poor radio performance. [0008] Examples described herein relate to modifications based on SNR. In one example, a non-transitory computer-readable storage medium includes instructions that when executed cause a computing device to generate current SNR data, compare the current SNR data with baseline SNR data for the computing device, and determine an SNR delta based on the comparison. The non-transitory computer-readable storage medium further includes instructions that when executed cause the computing device to, in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device.
[0009] As another example, a non-transitory computer-readable storage medium includes instructions that when executed cause a computing device to generate current SNR data, compare the current SNR data with baseline SNR data, and determine a SNR delta based on the comparison. The non-transitory computer- readable storage medium further includes instructions that when executed cause the computing device to, responsive to the SNR delta exceeding a delta threshold, determine a first system utilization index and a first radio bandwidth usage, where the first system utilization index and the first radio bandwidth usage are associated with a first application executing at the computing device. The non-transitory computer-readable storage medium further includes instructions that when executed cause the computing device to modify an application priority of the first application based on the first system utilization index, the first radio bandwidth usage, or combinations thereof.
[0010] As another example, a computing device includes a communication circuit to transmit or receive data over a radio communications network, a memory to store baseline signal-to-noise ratio (SNR) data for the computing device, and a processor. In various examples, the processor is to compare current SNR data from the communication circuit with the baseline SNR data, determine an SNR delta based on the comparison, and responsive to the SNR delta exceeding a delta threshold, modify a hardware performance factor for the computing device. Various examples described herein allow for calibration of the computing device for improved performance and reduction of SNR. [0011] Turning now to the figures, FIG. 1 illustrates an example block diagram of a computing device including instructions to modify an application priority based on SNR, consistent with the present disclosure. As illustrated in FIG. 1 , the computing device 100 may include a processor 102, a computer-readable storage medium 104, and a memory 106.
[0012] The processor 102 may be a central processing unit (CPU), a semiconductor-based microprocessor, and/or other hardware device suitable to control operations of the computing device 100. Computer-readable storage medium 104 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, computer-readable storage medium 104 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, etc. In some examples, the computer-readable storage medium may be a non-transitory storage medium, where the term ‘non- transitory’ does not encompass transitory propagating signals. As described in detail below, the computer-readable storage medium 104 may be encoded with a series of executable instructions 108-114. In some examples, computer- readable storage medium 104 may implement a memory 106. Memory 106 may be any non-volatile memory, such as EEPROM, flash memory, etc.
[0013] As illustrated, the computer-readable storage medium 104 may store instructions 108 that, when executed, cause the computing device 100 to generate current SNR data. As used herein, current SNR data refers to or includes SNR data from a particular point or interval of time. Additionally, instructions 1 10 may cause the computing device 100 to compare the current SNR data with baseline SNR data for the computing device. As used herein, a baseline SNR refers to or includes SNR data from a point or interval of time preceding the point or interval of time for the current SNR.
[0014] The measurement of the current SNR, and comparison against a baseline SNR, may be used by the computing device 100 to determine when modifications to the computing device 100 are to be implemented. Accordingly, instructions 1 12 may cause the computing device 100 to determine an SNR delta based on the comparison, and instructions 114 may cause the computing device 100 to in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device. Without modification, consistent with the present disclosure, the processor time may be shared between a plurality of applications running on the computing device 100 based on their central processing unit (CPU) priority level. The higher the CPU priority level of a process is, the more the processor time is assigned to it. However, in accordance with examples of the present disclosure, the application priority may be modified based on the SNR for the computing device 100, thereby improving operating performance of the computing device 100. As an illustration, without modification, a plurality of applications may be prioritized in the following order from highest priority to lowest priority: Application A, Application B, Application C, Application D. After modification, the plurality of applications may be prioritized in the following order from highest priority to lowest priority: Application B, Application C, Application A, Application D.
[0015] In various examples, the instructions 1 14 to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to assign a first priority to the application and a second priority to another application operating on the computing device, where the first priority is higher than the second priority. For instance, a first application, Application B, may be given a first priority higher than a second application, Application A. The instructions further cause the computing device to execute the first priority application before executing the second priority application. Following with the example from above, Application B, having a higher priority than Application A, would therefore execute before Application A.
[0016] In the example illustrated above, Application B may begin execution prior to Application A though both processes may run at the same time. In additional and/or alternative examples, an application may be suspended in order to reduce the SNR. In some examples, the instructions 114 to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to suspend operation of the second priority application responsive to the SNR delta exceeding the delta threshold. As an illustration, with the application priority of Application B, Application C, Application A, and Application D, the lower applications may be suspended until the SNR improves. A single application may be suspended, or a plurality of applications may be suspended. For example, if Application B has the highest priority, Applications C, A, and D may be suspended. Additionally and/or alternatively, Application D may be suspended. In other words, Application C, Application A, or Application D may be suspended, or any combination of Application C, Application A, and Application D may be suspended.
[0017] The application priority may be modified in response to a determination that the SNR delta threshold exceeds a delta threshold. As used herein, an SNR delta threshold refers to or includes a change in the SNR from a baseline measurement in an amount that is expected to impact performance of the computing device 100. The SNR delta threshold may be user-configurable, in that one user may specify a higher SNR delta at which application priority is modified, whereas a different user may specify a lower SNR delta at which the application priority is modified.
[0018] Following the modification of the application priority, the process may continue for repeated SNR measurement. For instance, at various intervals (e.g., every 10 seconds) the SNR for computing device 100 may be obtained. The SNR from the previous interval (e.g., 10 seconds prior) may be used as the baseline SNR data. If, after modification of the application priority, the SNR delta still exceeds the delta threshold, the application priority may be modified further. For instance, in the previous example, the application priority progressed from highest priority to lowest priority in the following order: Application B, Application A, Application C, Application D. In this example, the lowest application, i.e., Application D, may be suspended responsive to the SNR delta exceeding a delta threshold. If, after the SNR delta is subsequently determined, the SNR delta still exceeds the SNR delta threshold, the next lowest application, i.e., Application C, may be suspended. If, after the SNR delta is subsequently determined, the SNR delta no longer exceeds the SNR delta threshold, the application priority may return to the previous order of application priority and/or the suspended application may begin execution. For instance, the applications may return to an application priority from highest priority to lowest priority in the order of: Application A, Application B, Application C, Application D.
[0019] The computer-readable storage medium 104 is not limited to the instructions illustrated in FIG. 1 , and additional and/or different instructions may be stored and executed by processor 102 and/or other components of computing device 100.
[0020] FIG. 2 illustrates an example block diagram of a computing device 200 including instructions for modifying the application priority based on system utilization index and/or radio bandwidth usage, consistent with the present disclosure. The computing device 200 may include similar or different components as compared to computing device 100 illustrated in FIG. 1 . Similar to computing device 100, computing device 200 includes a processor 202, a computer-readable storage medium 204, and a memory 206.
[0021] As illustrated, the computer-readable storage medium 204 may store instructions 208 that, when executed, cause the computing device 200 to generate current SNR data. Similarly, instructions 210 may cause the computing device 200 to compare the current SNR data with baseline SNR data for the computing device, and instructions 212 may cause the computing device 200 to determine an SNR delta based on the comparison.
[0022] Instructions 213 may cause the computing device 200 to determine a system utilization index and a radio bandwidth usage, responsive to the SNR delta exceeding a delta threshold. As used herein, a system utilization index refers to or includes a numerical value determined as a function of percent CPU usage for an application, a percent power consumption for the application, a percent memory usage for the application, and a percent graphical processing unit (GPU) usage for the application. In various examples, the computer- readable storage-medium 204 further includes instructions that when executed cause the computing device 200 to determine the first system utilization index as a function of central processing unit (CPU) usage, power consumption, memory usage, graphics processing unit (GPU) usage, or a combination thereof. As used herein, a radio bandwidth usage refers to or includes a numerical value indicative of a lower wireless bandwidth threshold of the first application, at which the application will operate as intended.
[0023] As an example, a system utilization index may be determined for Application A. The system utilization index may be determined for Application A according to the following equation: % CPU Usage of Application A relative to Total CPU Usage + % Power Consumption of Application A relative to Total Power Consumption + Memory Usage of Application A relative to Total Memory Usage + % GPU Usage of Application A relative to Total GPU (Eq. 1 ). The system utilization index may similarly be determined for Application B, Application C, and Application D.
[0024] Instructions 214 may cause the computing device 200 to modify an application priority of the first application based on the first system utilization index, the first radio bandwidth usage, or combinations thereof. For instance, the system utilization index and radio bandwidth usage, may be determined for each application executing on computing device 200. The applications may be ordered from highest system utilization index to lowest system utilization index. Additionally and/or alternatively, the applications may be ordered from highest radio bandwidth usage to lowest radio bandwidth usage. Moreover, the applications may be prioritized based on both the system utilization index and the radio bandwidth usage. Accordingly, the computer-readable storagemedium 204 may include instructions that when executed cause the computing device 200 to determine for a second application operating on the computing device, a second system utilization index. In such examples, the instructions 214 to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first system utilization index is higher than the second system utilization index. That is, if Application B has a higher utilization index than Application A, then Application B would be assigned a higher application priority than Application A.
[0025] In additional examples, the computer-readable storage-medium 204 includes instructions that when executed cause the computing device 200 to determine the first radio bandwidth usage for the first application as a function of a lower wireless bandwidth threshold of the first application. Similarly, the computer-readable storage-medium 204 includes instructions that when executed cause the computing device 200 to determine for a second application operating on the computing device, a second radio bandwidth usage. In such examples, the instructions 214 to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first radio bandwidth usage is higher than the second radio bandwidth usage. That is, if Application B has a higher radio bandwidth usage than Application A, then Application B would be assigned a higher application priority than Application A.
[0026] In various examples, the instructions 214 to modify the application priority of the first application include instructions to suspend operation of the first application responsive to a determination that the first application has a lower system utilization index than the second application. That is, if Application A has a lower system utilization index than Application B, then Application A would be suspended, as discussed with regards to FIG. 1 .
[0027] In additional examples, the instructions 214 to modify the application priority of the first application include instructions to suspend operation of the first application responsive to a determination that the first application has a lower radio bandwidth usage than the second application. That is, if Application A has a lower radio bandwidth usage than Application B, then Application A would be suspended, as discussed with regards to FIG. 1 .
[0028] Following the modification of the application priority, the process may continue for repeated SNR measurement. As discussed with regards to FIG. 1 , at various intervals (e.g., every 10 seconds) the SNR for computing device 200 may be obtained. The SNR from the previous interval (e.g., 10 seconds prior) may be used as the baseline SNR data. If, after modification of the application priority, the SNR delta still exceeds the delta threshold, the application priority may be modified further based on system utilization index and radio bandwidth usage. If, after the SNR delta is subsequently determined, the SNR delta still exceeds the SNR delta threshold, the next lowest application, i.e., Application C, may be suspended. If, after the SNR delta is subsequently determined, the SNR delta no longer exceeds the SNR delta threshold, the application priority may return to the previous order of application priority and/or the suspended application may begin execution.
[0029] The computer-readable storage medium 204 is not limited to the instructions illustrated in FIG. 2, and additional and/or different instructions may be stored and executed by processor 202 and/or other components of computing device 200.
[0030] FIG. 3 illustrates an example computing device 300 for modifying a hardware performance factor for a computing device based on a SNR delta exceeding a delta threshold, consistent with the present disclosure. The computing device 300 may include the same or different components as computing device 100 illustrated in FIG. 1 , and computing device 200 illustrated in FIG. 2. As illustrated, the computing device 300 includes a communication circuit 303 to transmit and/or receive data over a radio communications network. As discussed with regards to FIG. 1 and FIG. 2, the computing device 300 may include a memory 306 to store baseline SNR data for the computing device 300, and a processor 302.
[0031] In various examples, the processor 302 is to perform a number of processes, such as those discussed with regards to FIG.1 and FIG. 2. As illustrated in FIG. 3, the processor 302 is to perform the processes in box 305. At 316, the processor is to determine if an SNR delta threshold is exceeded. For instance, the processor 302 may compare current SNR data from the communication circuit 303 with the baseline SNR data and determine an SNR delta based on the comparison. If at 318 the SNR delta threshold is not exceeded, the priority of applications executing on computing device 300 remain unmodified. At 320 and responsive to the SNR delta exceeding a delta threshold, the processor is to take some action. For instance, as discussed with regards to FIG. 1 and FIG. 2, the application priority may be determined in a number of ways, and the highest priority application or applications may keep running at 322. The lowest priority application or applications may be suspended by the processor at 324. Additionally and/or alternatively to suspending applications, and adjusting priority of the executed application, the processor 302 may modify a hardware performance factor for the computing device 300. Once the modification or modifications are made by processor 302, the process returns to box 316 and the SNR delta is determined at the next interval. In such a manner, the SNR for the computing device 300 is repeatedly assessed, and modifications are implemented based on the measured SNR data.
[0032] As used herein, a hardware performance factor refers to or includes a rate of CPU usage, a rate of GPU usage, a communications protocol used by the computing device 300, a peripheral component interconnect express (PCI- E) protocol used by the computing device 300, a method of clock modulation, or combinations thereof. For instance, as discussed with regards to FIG. 2, the processor may determine an application priority based on a rate of CPU usage, a rate of GPU usage, or combinations thereof. In order to improve the SNR for the computing device 300, the processor 302 may modify various aspects that impact CPU usage and/or GPU usage.
[0033] A non-limiting example of a hardware performance factor includes a communications protocol used by the computing device 300. In such examples, the processor 302 may change a universal serial bus (USB) protocol used by the computing device 300. For instance, the processor 302 may switch the computing device from using a USB 3.0 protocol to using a USB 2.0 protocol. [0034] As an additional example, the processor 302 may change a peripheral component interconnect express (PCI-E) protocol used by the computing device 300. For instance, when applications are operating normally, the computing device may be given a state of “L0.” When applications no data is being transferred, the computing device may be given a state of “L1 ,” in which portions of the PCIe transceiver logic may be turned off. For instance receive and transmission ports may be turned off, and/or common-mode keepers may be turned off.
[0035] Additionally and/or alternatively, the hardware performance factor may include a spread spectrum clock (SSC) modulation. In such examples, the processor 302 is to enable SSC modulation responsive to the SNR delta exceeding the delta threshold.

Claims

1. A non-transitory computer-readable storage medium comprising instructions that when executed cause a computing device to: generate current signal-to-noise ratio (SNR) data; compare the current SNR data with baseline SNR data for the computing device; determine an SNR delta based on the comparison; and in response to the SNR delta exceeding a delta threshold, modify an application priority of an application operating on the computing device.
2. The medium of claim 1 , wherein the instructions to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to: assign a first priority to the application and a second priority to another application operating on the computing device, wherein the first priority is higher than the second priority; and execute the first priority application before executing the second priority application.
3. The medium of claim 1 , wherein the instructions to modify an application priority of an application operating on the computing device include instructions that when executed cause the computing device to: assign a first priority to the application and a second priority to another application operating on the computing device, wherein the second priority is lower than the first priority; and suspend operation of the second priority application responsive to the SNR delta exceeding the delta threshold.
4. A non-transitory computer-readable storage medium comprising instructions that when executed cause a computing device to: generate current signal-to-noise ratio (SNR) data; compare the current SNR data with baseline SNR data; determine a SNR delta based on the comparison; responsive to the SNR delta exceeding a delta threshold, determine a first system utilization index and a first radio bandwidth usage, wherein the first system utilization index and the first radio bandwidth usage are associated with a first application executing at the computing device; and modify an application priority of the first application based on the first system utilization index, the first radio bandwidth usage, or combinations thereof.
5. The medium of claim 4, including instructions that when executed cause the computing device to determine the first system utilization index as a function of central processing unit (CPU) usage, power consumption, memory usage, graphics processing unit (GPU) usage, or a combination thereof.
6. The medium of claim 4, including instructions that when executed cause the computing device to: determine for a second application operating on the computing device, a second system utilization index; and wherein the instructions to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first system utilization index is higher than the second system utilization index.
7. The medium of claim 4, including instructions that when executed cause the computing device to determine the first radio bandwidth usage for the first application as a function of a lower wireless bandwidth threshold of the first application.
8. The medium of claim 4, including instructions that when executed cause the computing device to: 15 determine for a second application operating on the computing device, a second radio bandwidth usage; and wherein the instructions to modify the application priority of the first application include instructions to assign a high priority to the first application in response to a determination that the first radio bandwidth usage is higher than the second radio bandwidth usage.
9. The medium of claim 4, including instructions that when executed cause the computing device to determine for a second application operating on the computing device, a system utilization index, wherein the instructions to modify the application priority of the first application include instructions to: suspend operation of the first application responsive to a determination that the first application has a lower system utilization index than the second application.
10. The medium of claim 4, including instructions that when executed cause the computing device to: determine for a second application operating on the computing device, a radio bandwidth usage; wherein the instructions to modify the application priority of the first application include instructions to: suspend operation of the first application responsive to a determination that the first application has a lower radio bandwidth usage than the second application.
11. A computing device, comprising: a communication circuit to transmit or receive data over a radio communications network; a memory to store baseline signal-to-noise ratio (SNR) data for the computing device; and a processor to: 16 compare current SNR data from the communication circuit with the baseline SNR data; determine an SNR delta based on the comparison; and responsive to the SNR delta exceeding a delta threshold, modify a hardware performance factor for the computing device.
12. The computing device of claim 11 , including the processor to determine an application priority based on a rate of central processing unit (CPU) usage, a rate of graphics processing unit (GPU) usage, or combinations thereof.
13. The computing device of claim 11 , wherein the hardware performance factor includes a communications protocol used by the computing device, and wherein the processor is to change a universal serial bus (USB) protocol used by the computing device.
14. The computing device of claim 11 , wherein the hardware performance factor includes a communications protocol used by the computing device, and wherein the processor is to change a peripheral component interconnect express (PCI-E) protocol used by the computing device.
15. The computing device of claim 11 , wherein the hardware performance factor includes a spread spectrum clock (SSC) modulation, and wherein the processor is to enable SSC modulation responsive to the SNR delta exceeding the delta threshold.
PCT/US2020/047356 2020-08-21 2020-08-21 Modifications based on signal-to-noise ratios WO2022039753A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/047356 WO2022039753A1 (en) 2020-08-21 2020-08-21 Modifications based on signal-to-noise ratios

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/047356 WO2022039753A1 (en) 2020-08-21 2020-08-21 Modifications based on signal-to-noise ratios

Publications (1)

Publication Number Publication Date
WO2022039753A1 true WO2022039753A1 (en) 2022-02-24

Family

ID=80323041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/047356 WO2022039753A1 (en) 2020-08-21 2020-08-21 Modifications based on signal-to-noise ratios

Country Status (1)

Country Link
WO (1) WO2022039753A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108716A1 (en) * 1999-07-16 2005-05-19 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US20080057894A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Portable device with priority based power savings control and method thereof
US20140123151A1 (en) * 2012-10-31 2014-05-01 Microsoft Corporation Application prioritization
US20150181497A1 (en) * 2012-06-22 2015-06-25 Apple Inc. Network reselection by a wireless communication device based on signal-to-noise ratio

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108716A1 (en) * 1999-07-16 2005-05-19 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US20080057894A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Portable device with priority based power savings control and method thereof
US20150181497A1 (en) * 2012-06-22 2015-06-25 Apple Inc. Network reselection by a wireless communication device based on signal-to-noise ratio
US20140123151A1 (en) * 2012-10-31 2014-05-01 Microsoft Corporation Application prioritization

Similar Documents

Publication Publication Date Title
US20190349002A1 (en) Encoding And Decoding Method And Terminal
CN108881012B (en) Link aggregation method and related product
US11025745B2 (en) Technologies for end-to-end quality of service deadline-aware I/O scheduling
WO2020026013A1 (en) Data transmission method, apparatus and device/terminal/server and computer readable storage medium
CN104102603A (en) USB (Universal Serial Bus) network interface controller and operation mode switching method thereof
US8745170B2 (en) Dynamic file streaming
CN115378859B (en) Method, apparatus, device, medium and product for determining limit state information
WO2022039753A1 (en) Modifications based on signal-to-noise ratios
CN110740100B (en) Transmission rate determining method, device, network equipment and storage medium
CN110337112B (en) Terminal access method and device
WO2015101344A1 (en) Allocation method and device for terminal accessing network
US20140301199A1 (en) Methods, systems, and computer program products for processing a packet
JP2021517432A (en) Physical uplink control channel resource determination method and communication device
CN114338386A (en) Network configuration method and device, electronic equipment and storage medium
CN113727386A (en) Communication method and device
CN114828182B (en) Uplink power adjustment method and related equipment
CN111819899B (en) Method and device for allocating downlink transmission resources
US20200356519A1 (en) Techniques for serial communication
CN111885588A (en) Method and device for executing electronic card management service
KR100764772B1 (en) Control method for transmission in hand-held terminal and apparatus thereof
CN113377277A (en) Method, apparatus and computer program product for managing memory
CN117119524B (en) Short-range data transmission method, device, electronic equipment and storage medium
JP6294583B2 (en) Data transfer device, data transfer system, and program
US9549381B2 (en) Controlling power consumption in a power amplifier in a communication device
CN111884848B (en) Network slice selection method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20950466

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20950466

Country of ref document: EP

Kind code of ref document: A1