Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MODIFICATIONS BASED ON SIGNAL-TO-NOISE RATIOS
Document Type and Number:
WIPO Patent Application WO/2022/039753
Kind Code:
A1
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.

Inventors:
LIN I-CHEN (TW)
LIN CHENG-FANG (TW)
CHENG TZU-CHIANG (TW)
Application Number:
PCT/US2020/047356
Publication Date:
February 24, 2022
Filing Date:
August 21, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
International Classes:
G06F9/48; H04W52/24
Foreign References:
US20150181497A12015-06-25
US20140123151A12014-05-01
US20080057894A12008-03-06
US20050108716A12005-05-19
Attorney, Agent or Firm:
SU, Benjamin et al. (US)
Download PDF:
Claims:
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.

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.