THERMAL RUNTIME PREDICTION FOR ELECTRONIC DEVICES

Information

  • Patent Application
  • 20250181934
  • Publication Number
    20250181934
  • Date Filed
    December 01, 2023
    a year ago
  • Date Published
    June 05, 2025
    9 days ago
Abstract
A method and system for predicting remaining thermal runtime in an electronic device is disclosed. The method involves obtaining the device's current processor power consumption and temperature sensor reading, selecting a predefined function relating temperature and time at that power level, determining the position of the current temperature on the function, calculating the time position for a shutdown temperature, and determining the time difference to estimate remaining runtime. In some examples, the functions are quadratic curves fitted to empirical time-temperature data collected at different processor power levels. In one embodiment, the prediction is implemented in augmented reality glasses and continuously adjusted using updated power and temperature data. The runtime prediction enables the device to warn the user prior to shutdown and perform graceful shutdown procedures. By accounting for diverse operating conditions, the method provides an accurate estimate of remaining time before the device reaches critical temperatures.
Description
BACKGROUND

Electronic devices such as augmented reality glasses, mobile phones, and wearable devices can generate significant heat during operation. Components such as central processing units (CPUs), graphic processing units (GPUs), screens, surface-mount devices (SMDs), Systems-on-a-Chip (SOCs), sensors, and transmitters can raise the internal temperature of the device. If the temperature exceeds safe limits, the device may overheat, experience performance throttling, or even unexpected shutdown.


Predicting the remaining operating time before a device reaches a critical shutdown temperature is challenging. The temperature profile can depend on variable factors like the processing load, screen brightness, ambient temperature, and airflow. Accurately estimating the thermal characteristics under diverse operating conditions requires monitoring many parameters.


Prior techniques rely on simple thresholds and fail to account for interaction between components. This leads to premature throttling or unexpected shutdowns. More sophisticated fluid dynamics simulations are computationally intensive.


BRIEF SUMMARY

The present disclosure relates to predicting the remaining thermal runtime of an electronic device before it reaches thermal shutdown. An example electronic device may include an augmented reality (AR) viewing device, such as AR glasses. In some examples, the electronic device includes an on-device logger to periodically log temperature sensor readings and power consumption of components, such as SOCs. A core assumption is that at a constant power level, the temperature will increase or decrease monotonically until it stabilizes.


Some disclosed examples herein predict temperature change based on power consumption. The prediction uses one or more predefined functions such as fitted quadratic curves or other polynomial functions for temperature over time at different power levels. Examples pick a curve based on current power, find the time to reach shutdown temperature, and calculate remaining runtime. In some examples, prediction accuracy increases as the device approaches a shutdown temperature.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced.



FIG. 1 illustrates an example electronic device, according to an example embodiment.



FIG. 2 illustrates examples components for determining or predicting thermal runtimes, according to example embodiments.



FIG. 3A and FIG. 3B illustrate curves for a predefined function in determining or predicting thermal runtimes, according to example embodiments.



FIG. 4 is a flowchart illustrating example operations in a method for predicting remaining thermal runtime of an electronic device.



FIG. 5A and FIG. 5B illustrates example curves for a component in an electronic device providing an evaluation of a runtime prediction's accuracy, according to example embodiments.



FIG. 6 illustrates a method for predicting remaining thermal runtime of an electronic device, in accordance with one embodiment.



FIG. 7 illustrates a method for predicting a remaining runtime until a shutdown temperature is reached in an electronic device, in accordance with one embodiment.





DETAILED DESCRIPTION

As mentioned above, electronic devices such as augmented reality glasses, mobile phones, and wearable devices can generate significant heat during operation. Components such as central processing units (CPUs), graphic processing units (GPUs), screens, surface-mount devices (SMDs), Systems-on-a-Chip (SOCs), sensors, and transmitters can raise the internal temperature of the device. If the temperature exceeds safe limits, the device may overheat, experience performance throttling, or even unexpected shutdown.


In seeking to address these and other challenges, some examples incorporate an efficient runtime prediction technique that can dynamically estimate when an electronic device will exceed a safe operating temperature, given current conditions. Safe runtime predictions can allow product developers to improve component and circuit designs, including thermal management. In use, accurate runtime predictions can also allow the device to take proactive measures like warning the user, saving state, and gracefully shutting down before an emergency shutdown occurs. In some examples, a thermal runtime prediction accounts for parameters like sensor temperatures, processing loads, power consumption, and ambient temperature. Some examples are conveniently rendered lightweight and compact so as to run continuously on resource-constrained devices, such as the AR glasses described below.


In some examples, a method is provided for predicting a remaining runtime until a shutdown temperature is reached in an electronic device. The method includes obtaining power consumption of a component or processor in the electronic device; obtaining a current temperature reading from a temperature sensor associated with the component or processor; selecting a predefined function representing a relationship between temperature and time at the obtained power consumption; determining coordinates of the current temperature reading on the selected function; determining coordinates of the shutdown temperature on the selected function; and calculating a difference between the time coordinates of the shutdown temperature and the current temperature to determine a predicted remaining runtime until the component or processor reaches the shutdown temperature if power consumption remains constant.


In some examples, the predefined functions include, or are constituted by, quadratic or other polynomial equations fitted to empirical time-temperature data collected at different power consumption levels of the component or processor. The empirical data may be collected by loading the component or processor to desired power levels and recording temperature sensor readings over time. In some examples, the predefined functions include polynomial equations and/or exponential plateau functions.


In some examples, a predicted remaining runtime is continually adjusted based on updated power consumption and temperature readings. Adjustment factors may be applied to earlier predictions to improve accuracy, based on a determination that prediction accuracy increases as the remaining runtime approaches zero.


In some examples, the method is implemented in an augmented reality device comprising a frame, display, and component or processor. Temperature sensors associated with the component or processor provide temperature readings to a runtime prediction module (or on-device logger) implementing the method. The prediction is used to warn a user of imminent shutdown and enable graceful shutdown procedures.


These and other aspects are now described with reference to some specific examples.



FIG. 1 shows a perspective view of a head-wearable user device, in this example shown as an AR eyewear device (e.g., the glasses 100), in accordance with some example embodiments. The form factor of the glasses 100 is compact and space available for internal componentry is tight. The glasses 100, in this instance, can be worn to view augmented or virtual content displayed over real content visible in a content interaction system.


The example glasses 100 of FIG. 1 include a small frame 112 made from any suitable material such as plastic or metal, including any suitable shape memory alloy, as is well known for ophthalmic eyewear. In one or more embodiments, the frame 112 includes a front piece 138, including a first or left (as worn by a user) optical element holder 122 (e.g., a display or lens holder) and a second or right (as worn by a user) optical element holder 124, connected by a nose piece or bridge 130. The front piece 138 additionally includes a left end portion 116 and a right end portion 118. A first or left optical element 126 and a second or right optical element 128 can be provided within respective left optical element holder 122 and right optical element holder 124. Each of the right optical elements 128 and the left optical elements 126 can be a lens, a display, a display assembly, or a combination of the foregoing. Any of the display assemblies disclosed herein can be provided in the glasses 100.


The frame 112 additionally includes a left arm or temple piece 104 and a right arm or temple piece 106 coupled to the respective left end portion 116 and the right end portion 118 of the front piece 138 by any suitable means such as at a folding hinge 144 (one folding hinge 144 on each side), so as to be coupled to the front piece 138, or rigidly or otherwise secured to the front piece 138 so as to be integral with the front piece 138. In one or more implementations, each of the temple pieces 104 and the temple pieces 106 includes a first portion 114 that is coupled to the respective left end portion 116 or right end portion 118 of the front piece 138 and any suitable second portion 136 for coupling to the ear of the user. In one embodiment, the front piece 138 can be formed from a single piece of material, so as to have a unitary or integral construction. In one embodiment, such as illustrated in FIG. 1, the entire frame 112 can be formed from a single piece of material so as to have a unitary or integral construction.


The glasses 100 can include a computing device, such as a computer 132, which can be of any suitable type so as to be carried by the frame 112 and, in one or more embodiments of a suitable size and shape, so as to be at least partially disposed in one of the temple pieces 104 and the temple pieces 106. In one or more embodiments, as illustrated in FIG. 1, the computer 132 is sized and shaped similar to the size and shape of one of the temple pieces 106 (e.g., or the temple piece 104), and is thus disposed almost entirely, if not entirely, within the structure and confines of such temple piece 106. In one or more embodiments, the computer 132 is disposed in both of the temple piece 104 and the temple piece 106 and flexible circuits connecting the two parts of the computer 132 pass through one (or typically both) of the folding hinges 144. The computer 132 can include one or more printed circuit boards (PCBs) and one or more hardware processors with memory, wireless communication circuitry, and a power source. In some examples, the computer 132 comprises low-power circuitry, high-speed circuitry, and a display processor. Various other embodiments may include these elements in different configurations or integrated together in different ways.


The computer 132 additionally includes a battery 110 or other suitable portable power supply. In one embodiment, the battery 110 is disposed in one of the temple pieces 104 or the temple piece 106. In the glasses 100 shown in FIG. 1, the battery 110 is shown as being disposed in left temple piece 104 and electrically coupled using the connection 134 to the remainder of the computer 132 disposed in the right temple piece 106. The glasses 100 can include a connector or port (not shown) suitable for charging the battery 110 accessible from the outside of frame 112, a wireless receiver, transmitter, or transceiver (not shown) or a combination of such devices.


In one or more implementations, the glasses 100 include cameras 102. Although two cameras are depicted, other embodiments contemplate the use of a single or additional (i.e., more than two) cameras. In one or more embodiments, the glasses 100 include any number of input sensors or peripheral devices in addition to the cameras 102. The front piece 138 is provided with an outward facing, forward-facing, or front or outer surface 120 that faces forward or away from the user when the glasses 100 are mounted on the face of the user, and an opposite inward-facing, rearward-facing, or rear or inner surface 108 that faces the face of the user when the glasses 100 are mounted on the face of the user. Such sensors can include inwardly-facing video sensors or digital imaging modules, such as cameras that can be mounted on or provided within the inner surface 108 of the front piece 138 or elsewhere on the frame 112 so as to be facing the user, and outwardly-facing video sensors or digital imaging modules such as the cameras 102 that can be mounted on or provided with the outer surface 120 of the front piece 138 or elsewhere on the frame 112 so as to be facing away from the user.


Such sensors, peripheral devices or peripherals can additionally include biometric sensors, ambient condition sensors, light sensors, temperature sensors, location sensors, power monitors, or any other such sensors. In one or more implementations, the glasses 100 include a track pad 140 or other touch or sensory input device to receive navigational commands from the user. One or more track pads 140 may be provided at convenient locations for user interaction on one or both of the track pad 140 and the temple piece 106.


In some examples, the computer 132 includes a flexible printed circuit board (PCB) or flexible section 146. In some examples, the flexible section 146 is located at or adjacent to the folding hinge 144. More specifically, the flexible section 146 may be located in a region either side of or crossing the (or each) folding hinge 144. The flexible section 146 adjacent a folding hinge 144 may undergo a degree of bending, flexing, or movement when the left and right arms 104 and 106 of the glasses 100 are opened and closed, for example.


With reference to FIG. 2, example components are shown for performing thermal runtime predictions (or making determinations of same) for heat-producing components of an electronic device, such as the glasses 100. In the examples that follow, the heat-producing components will for convenience, but by way of example only, be referred to as SOCs. Other components and/or electronic devices for which thermal runtime predictions can be determined are possible. For example, thermal runtime predictions for heat-producing components such as those described in the Background section further above, or for other electronic devices such as desktop or laptop computer, are possible. In the present example, the thermal runtime prediction components are included in the computer 132 on the glasses 100, but can in some examples communicate with remote components, processors, servers and data bases via access to Application Programming Interfaces (APIs).


In FIG. 2, a temperature sensor 210 measures the current temperature of one or more SOCs implementing on the glasses 100 and provides temperature readings to a thermal runtime processor 212. A power monitor 214 also monitors power consumption of one or more SOCs implementing on the glasses 100 and provides current power usage data to the thermal runtime processor 212.


The thermal runtime processor 212 (also referred to in some examples as an on-device logger herein) logs temperature and power data points from sensors placed on the glasses 100 over time. The sensors may include the temperature sensor 210 and/or the power monitor 214. Other data-providing sensors are possible. In some examples, the power and/or temperature sensors may be remote sensors and may record, log, or transmit data to the thermal runtime processor 212 relating to ambient conditions, such as humidity, temperature, or sunshine present in a more general location of the glasses 100 (or other electronic device), for example a room in which a wearer of the glasses 100 or the electronic device is located or operating.


In some examples, the thermal runtime processor 212 fits predefined functions, such as quadratic curves, and/or polynomial functions or curves, and/or exponential plateau functions, to the collected power and temperature data at different power levels. Some example predefined functions are described further below with reference to FIG. 3A and FIG. 3B. In some general examples, a predefined function includes a predetermined correlation or mathematical function between power and temperature in relation to an operating component. For purposes of making predictions or determinations of thermal runtime of a given component, the predefined function may include, for a given operating power or power supply, a time taken to reach a temperature plateau, but other aspects can be used in some examples.


In a present example, the thermal runtime processor 212 selects an appropriate curve (predefined function) based on current component power consumption as determined by the power monitor 214. The thermal runtime processor 212 predicts a remaining time to reach shutdown temperature based on the selected curve and the current temperature as determined by the temperature sensor 210. In some examples, the thermal runtime processor 212 provides or exposes one or more APIs for other application and service functions of the glasses 100 to access or retrieve predicted runtimes, actual and threshold temperatures, and other data.


Some examples provide a ThermalRuntime API that allows accessing the predicted remaining runtime before thermal shutdown. An example API includes the following:

    • getPredictedRuntime( )—returns the predicted remaining seconds before reaching shutdown
    • temperature.
    • getCurrentTemperature( )—returns the current temperature reading from the on-device
    • logger.
    • getShutdownTemperature( )—returns the shutdown temperature threshold set for the device.
    • getTemperatureCurve( )—returns the array of (time, temperature) points for the currently
    • selected quadratic temperature curve.
    • setShutdown Temperature (temperature)—allows setting the shutdown temperature threshold.
    • addTemperatureListener (listener)—registers a callback listener that will be invoked whenever the predicted remaining runtime changes.


The API uses the underlying predefined function (such as quadratic curve fitting described further below) and selection system to continuously update the predicted runtime. Device applications and service functions use this API to obtain the latest runtime prediction and current temperature, be notified of changes, and configure the shutdown temperature if needed.


Some example usage includes:

















ThermalRuntime runtime = ThermalRuntime.getInstance( ); //



Print predicted remaining runtime



System.out.println(“Remaining runtime: ” +



runtime.getPredictedRuntime( ) + “ seconds”); // Register



listener for changes



runtime.addTemperatureListener((newRuntime) => {



System.out.println(“Runtime changed to: ” + newRuntime + “



seconds”); });










In some examples, the ThermalRuntime API includes additional methods such as:

    • getPowerConsumption( )—returns the current power consumption of the SOC(s).
    • getTemperatureTrend( )—returns a TemperatureTrend object encapsulating the selected quadratic curve.


The TemperatureTrend class provide methods such as:

    • getCurve( )—returns the array of points fitting the quadratic curve.
    • getEquation( )—returns the quadratic equation describing the curve.
    • getPowerRange( )—returns the power range this curve applies to.


Additional usage examples include:

















// Get current power consumption double power =



runtime.getPowerConsumption( );



// Get details on current temperature trend TemperatureTrend



trend = runtime.getTemperatureTrend( );



// Print curve points System.out.println(trend.getCurve( )); //



Print curve equation System.out.println(trend.getEquation( ));



// Show power range for this curve System.out.println(“Power



range: ” + trend.getPowerRange( ));



// Set a lower shutdown threshold



runtime.setShutdownTemperature(50);



// Check if runtime is below a threshold if



(runtime.getPredictedRuntime( ) < MIN_SAFE_RUNTIME) {



// Take action to cool down device }



// Get notified when crossing threshold



runtime.addTemperatureListener(runtime −> { if (runtime <



MIN_SAFE_RUNTIME) { onOverheating( ); } });










In some examples, the API also allows registering custom power or temperature listeners to receive a notification of changes.


In some examples, temperature sensors such as the temperature sensor 208 are located at critical spots on the glasses 100 frame, for example, near heat generating components like CPUs and the battery. The temperature sensor 208 can include thermistors, thermocouples, or integrated circuit temperature sensors. The temperature sensor 208 can provide temperature readings to the thermal runtime processor 212 via an I2C or SPI bus.


In some examples, power monitors such as the power monitor 214 employ shunt resistors to measure current draw of each SOC and calculate power consumption based on current and voltage. In some examples, the power monitor 214 provides power consumption data to the thermal runtime processor 212 via a serial communication bus.


In some examples, the thermal runtime processor 212 is implemented as part of system management controller firmware. In some examples, the thermal runtime processor 212 stores temperature and time data points in an internal memory and runs curve fitting algorithms periodically using accumulated data. In some examples, the thermal runtime processor 212 exposes one or more APIs to applications and services over a universal asynchronous receiver/transmitter (UART) using a lightweight protocol such as JSON.


In some examples, a thermal manager such as the thermal manager 216 is implemented as part of system management controller firmware, and registers for notifications from the thermal runtime processor 212 over UART. In some examples, the thermal manager 216 controls fan speed and/or manages throttling of SOCs to cool the electronic device, such as the glasses 100.


In some examples, the frame 112 of the glasses 100 includes temperature sensor PCBs connected to internal thermistors, shunt resistors on power paths to SOCs to allow current monitoring, UART connections from the thermal runtime processor 212 to an SOC for runtime APIs, and issues or transmits fan and throttling control signals from the thermal runtime processor 212 to the SOC. This compact configuration allows the runtime prediction logic to reside in the management controller firmware while sensors, monitors, and cooling mechanisms are implemented in hardware integrated into the glasses frame.


In some examples, the thermal runtime processor 212 and/or the thermal manager 216 may include one or more processors. A “processor” herein refers to any one or more circuits or virtual circuits (e.g., a physical circuit emulated by logic executing on an actual processor) that manipulates data values according to control signals (e.g., commands, opcodes, machine code, control words, macroinstructions, etc.) and which produces corresponding output signals that are applied to operate a machine. A processor may, for example, include at least one of a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) Processor, a Complex Instruction Set Computing (CISC) Processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), a Tensor Processing Unit (TPU), a Neural Processing Unit (NPU), a Vision Processing Unit (VPU), a Machine Learning Accelerator, an Artificial Intelligence Accelerator, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Radio-Frequency Integrated Circuit (RFIC), a Neuromorphic Processor, a Quantum Processor, or any combination thereof.


A processor may further be a multi-core processor having two or more independent processors (sometimes referred to as “cores”) that may execute instructions contemporaneously. Multi-core processors contain multiple computational cores on a single integrated circuit die, each of which can independently execute program instructions in parallel. Parallel processing on multi-core processors may be implemented via architectures like superscalar, VLIW, vector processing, or SIMD that allow each core to run separate instruction streams concurrently. A processor may be emulated in software, running on a physical processor, as a virtual processor or virtual circuit. The virtual processor may behave like an independent processor but is implemented in software rather than hardware.


Returning again to FIG. 2, in some examples the thermal runtime components located in the computer 132 of the glasses 100 further comprise a thermal manager 216, mentioned above. The thermal manager 216 listens for predicted runtimes for given SOCs from the thermal runtime processor 212 and takes appropriate action, for example issuing a machine-readable alert to another external or internal component of the glasses 100, or to human-readable alert to a wearer of the glasses 100. In some examples, the thermal manager 216 initiates or coordinates a throttling or cooling action for the monitored SOCs, or other components of the glasses 100. For example, the thermal manager 216 may takes a throttling or cooling action if a predicted runtime drops below configured thresholds.


A general overall system architecture in an electronic device incorporating these components can include temperature sensors and power monitors providing data to a thermal runtime processor. The thermal runtime processor logs data over time, fits curves, selects an appropriate curve, and predicts remaining runtime. In some examples, data logging occurs separately prior to the prediction algorithm, and data may be logged and collected from artificially stressing the device at different loads, rather than in a thermal runtime processor on the fly. This can make generating data at constant power easier. In some examples, data generation is a separate process.


In some examples, device applications and service functions access a thermal runtime API to get a predicted runtime. A thermal manager listens to the thermal runtime processor and takes appropriate action, such as throttling or cooling a component or the device, if needed. A compact system architecture for a constrained volume such as the glasses 100 allows the runtime prediction and curve fitting logic to be encapsulated conveniently in the thermal runtime processor 212, while still providing an API for other components. The compact thermal manager 216 handles taking appropriate actions if the runtime drops too low.


With reference to FIG. 3A and FIG. 3B, some examples herein include methods for deriving time and temperature relationships for use in predefined functions in thermal runtime prediction operations. For example, in one illustrative baseline approach for deriving a time and temperature relationship to establish a predefined function, only one temperature sensor is considered and only SOC power consumption for two comparative SOC components is considered as a factor. A time and temperature relationship at different power levels can be derived by generating controlled data.


In one example, a data generation script loads and runs an SOC in a test electronic device at different power levels and observes a temperature elevation trend over a period of time. From the device, log files containing SOC power consumption and corresponding temperature sensor readings at periodic time intervals, for example every 12 seconds, are obtained. Example curves, such as those illustrated in the graphs of FIG. 3A for 4 silver core CPU running at an average total SOC power of 936 milliwatts (mW) and FIG. 3B for 1 gold core CPU running at an average power of 1034 mW, can be generated for respective temperature elevation trends.


In each graph, the left Y axis indicates SOC temperature in degrees Celsius and the right Y axis indicates SOC power consumption in mW. The X axis depicts time in seconds. Several time and temperature relationships can be derived in this manner over time for different SOC power consumption and temperature elevation trends. The respective curve lines in FIG. 3A and FIG. 3B show original data (i.e. from the log files), fitted data (based on a predefined function), and power consumption levels over time for the indicated temperature and power levels, merely by way of example.


Some examples, for example as shown in the graphs of FIG. 3A and FIG. 3B, indicate that SOC operating temperature typically stabilizes within 20 minutes (1200 seconds), and that the higher the SOC power consumption, the faster the SOC temperature stabilizes. In some examples, for thermal runtime prediction purposes, a quadratic function can provide a “good enough” fit as a predefined function for the period before the SOC reaches an equilibrium or plateau temperature. The fitted data generated by applying the predefined function (for example a quadratic or other function) can be used to predict a thermal runtime for a given SOC (or other component or electronic device in other examples). As may be appreciated, the metric known as R2 is a statistical measure that indicates how well model or fitted date approximates the real data points. The R2 metric can be used to evaluate the accuracy and explanatory power of a fitted regression line, for example. The closer the R2 value is to 1, the more accurate the model. In the present example, the R2 values for the graphs of FIG. 3A and FIG. 3B was approximately 0.94 i.e., close to 1. A predefined function comprising a quadratic function modeling the heating or cooling period and a plateau flat line modeling the equilibrium temperature was therefore considered, at least for this example SOC, to provide acceptable modeling and prediction capabilities, accordingly. In some instances, other predefined functions may be better suited to other types of components and may be generated or selected accordingly.


With reference to the thermal runtime flow chart of FIG. 4, in operation 404, a set of curves for time-temperature trends at different power levels is obtained or accessed by the thermal runtime processor 212 (on-device logger). A determination may be made as to a sufficiency of the set of curves for a given component, such as an SOC, based on typical power consumption or operating temperature levels of that component. The curve-set sufficiency determination may include checking that the set of curves covers an anticipated or expected range of power consumptions or operating temperature levels of the applicable component in use, for example. The curve-set sufficiency determination may also include selecting a degree of fidelity or increment in power levels between each curve in the curve set, for example a power increment between successive curves in a curve set in the range of 10 mW, or 50 mW, or 100 mW between each curve, for example. Other power curve ranges or increments are possible.


Other factors, such as ambient conditions, may be considered when selecting or establishing the set of curves, for example as described further below. Similarly, the most appropriate or applicable predefined function, such as a quadratic or other function, for generating the fitted data may be established or selected based on similar principles.


Again with reference to FIG. 4, in some examples, the thermal runtime processor 212 performs or coordinates real-time thermal runtime predictions as follows. In operation 406, the power monitor 214 reads a current power consumption of a monitored component (for example, an SOC running at 1234 mW) and transmits this data to the thermal runtime processor 212. In operation 408, the thermal runtime processor 212 determines which curve to use based on the received power reading. In operation 410, the thermal runtime processor 212 finds the X-axis value of the current moment in time on the selected curve. In operation 412, the temperature sensor 208 determines the current component temperature (for example 30 degrees Celsius) and transmits that temperature data to the thermal runtime processor 212. In some examples, the order of operation 410 and operation 412 are reversed. In other words, first the temperature sensor sends current temperature information to the thermal runtime processor, then the thermal runtime processor finds the x-axis value of the current moment.


In operation 414, for a given Y-axis value of 30 degrees Celsius on the selected curve, a corresponding X_current value is determined. In operation 416, given a previously established component shutdown temperature, the thermal runtime processor 212 solves for a remaining X-axis time value using the applicable predefined function and calculates the difference between the X_current time value at the current temperature and the X-axis value at the applicable shutdown temperature to derive or predict a remaining thermal runtime. It may be noted that for predefined functions including a polynomial expression or function having a degree higher than 2, some examples use Newton's method to approximate a root value instead. In some examples, data logging occurs separately prior to the prediction algorithm, and data may be logged and collected from artificially stressing the device at different loads, rather than in a thermal runtime processor on the fly. This can make generating data at constant power easier. In some examples, data generation is a separate process.


Some examples include software architecture and components that can implement thermal runtime determinations, for example as described herein. Example components include a TemperatureSensor module to get current temperature readings from hardware sensors, a PowerMonitor module to get current power consumption from hardware monitors, a CurveFitting module to fit predfined functions (such as quadratic curves) to past temperature and time data, a CurveSelector module to Selects appropriate curve based on power, a RuntimePredictor module to predicts a remaining runtime on curve, a ThermalManager module to handle thermal management actions if needed. In some examples, data logging occurs separately prior to the prediction algorithm, and data may be logged and collected from artificially stressing the device at different loads, rather than in a thermal runtime processor on the fly. This can make generating data at constant power easier. In some examples, data generation is a separate process.


In an example software architecture, the TemperatureSensor and PowerMonitor modules capture data from hardware. The CurveFitting module periodically fits curves to collected data. The CurveSelector selects an appropriate curve based on current power. The RuntimePredictor uses CurveSelector curves and TemperatureSensor readings to predict a remaining runtime. The ThermalManager registers for runtime predictions and manages thermal operations, if needed. A main control loop calls the TemperatureSensor module, the PowerMonitor module, the RuntimePredictor module, and the ThermalManager module. This allows for modularity with each logical function in its own module. The components interact via function calls and data sharing.


In some examples, the modules are structured in classes with interfaces such as:

    • class TemperatureSensor {getCurrentTemp( ) { }}
    • class PowerMonitor {getCurrentPower( ) { }}


The example software components may perform one or more of the following operations:

















1. Start



2. Get current temperature reading from temperature sensor



3. Get current power consumption from power monitor



4. Select quadratic curve based on current power consumption



5. Determine current point on selected curve using current temperature



6. Calculate remaining time to reach shutdown temperature on selected curve



7. Store predicted remaining runtime



8. Check if runtime below threshold



9. If yes, trigger thermal management action



10. If no, return to step 2



End










With reference to FIG. 5A and FIG. 5B, some examples seek to improve the accuracy of thermal runtime predictions based on an observation that the closer a component or device gets to a target shutdown temperature, the accuracy of the remaining thermal runtime prediction improves. The graphs depict predicted and actual runtimes to reach a given threshold or shutdown temperature, and power consumption levels for an SOC component operating in a glasses 100 electronic device. In this illustrative example, the measured SOC component was running a lens component in the glasses 100, such as the first or left optical element 126, or the second or right optical element 128 of FIG. 1. These lens components can consume significant power and generate significant heat. In the graphs of FIG. 5A and FIG. 5B, the left Y axis indicates values for predicted and actual runtime in seconds, and the right Y axis indicates SOC power consumption in mW. The X axis depicts time in seconds at selected time stamped intervals, as shown.


The graph in FIG. 5B is a “zoom in” of the right hand side of the graph of FIG. 5A, taken at a point where the predicted remaining runtime is approximately 200 seconds, i.e., close to reaching a threshold or shutdown temperature. In this zoomed in view, it will be noted that as the actual runtime approaches zero seconds, the predicted runtime values corresponding thereto (i.e., example values obtained by applying the predefined function discussed above), are comparatively close (i.e., more accurate) as compared to the more distant predicted runtime values appearing in the top left side of FIG. 5A where the actual runtime remains comparatively plentiful, for example in the region of 300 to 400 seconds. The R2 accuracy value for the larger graph in FIG. 5A is approximately 0.58, whereas the R2 accuracy value for the graph in FIG. 5B (for example, for the last 2 or 3 minutes of remaining runtime) is approximately 0.89 i.e., closer to 1 and therefore more accurate.


Some examples thus utilize or incorporate an aspect in which the thermal runtime prediction becomes more accurate the closer the monitored component or device approaches a threshold or target shutdown temperature. Example method operations in this regard may comprise determining a difference between the predicted remaining runtime and an actual remaining runtime periodically as the electronic device operates; determining that the difference decreases as the predicted remaining runtime decreases over time; wherein the predicted remaining runtime is determined to be more accurate as the predicted remaining runtime approaches zero.


The method may further comprise calculating an accuracy score based on the determined difference between the predicted and actual remaining runtimes; wherein the accuracy score increases as the predicted remaining runtime approaches zero. The method may further comprise outputting the accuracy score with the predicted remaining runtime to indicate the accuracy of the prediction.


In some examples, predicting the remaining runtime further comprises determining a first predicted runtime at a first point in time, wherein the first predicted runtime is a first duration from the first point; determining a second predicted runtime at a second point in time, wherein the second predicted runtime is a second duration from the second point; wherein the second duration is less than the first duration; and wherein an accuracy of the second predicted runtime is higher than an accuracy of the first predicted runtime based on the second duration being less than the first duration.


Some examples may comprise determining a first predicted remaining runtime at a first point in time, wherein the first predicted remaining runtime is a first duration from the first point in time; determining a second predicted remaining runtime at a second point in time, wherein the second predicted remaining runtime is a second duration from the second point in time; wherein the second duration is less than the first duration; adjusting the first predicted remaining runtime based on the second predicted remaining runtime to improve an accuracy of the first predicted remaining runtime.


In some examples, adjusting the first predicted remaining runtime comprises determining an adjustment factor based on a difference between the first duration and the second duration; applying the adjustment factor to the first predicted remaining runtime to generate an adjusted first predicted remaining runtime. In some examples, the adjustment factor is calculated to reduce the difference between the first predicted remaining runtime and an actual remaining runtime at the first point in time. In some examples, the method further comprises continually adjusting previously predicted remaining runtimes based on newly predicted remaining runtimes that are closer to the target shutdown temperature.


As noted above, some examples factor in ambient conditions using sensors associated with the glasses 100. Some examples detect ambient conditions and adjust a thermal runtime prediction or a shutdown temperature threshold based on a detected ambient condition. For example, a method for predicting a thermal runtime of an electronic device may include detecting direct sunlight and adjusting a shutdown temperature threshold.


An example method in this regard may comprise determining a current power consumption of one or more SOCs of the electronic device; selecting a quadratic curve that correlates temperature and time at a power level corresponding to the determined current power consumption, wherein the quadratic curve is selected from a plurality of quadratic curves, each corresponding to different power levels; determining a predicted remaining runtime based on the selected quadratic curve and a shutdown temperature threshold; detecting that the electronic device is in direct sunlight based on sensor data from a light sensor; and in response to detecting direct sunlight, increasing the shutdown temperature threshold to an adjusted higher temperature threshold.


The method may further comprise determining an ambient temperature using the light sensor data; wherein increasing the shutdown temperature threshold is further based on the determined ambient temperature. In some examples, the adjusted higher temperature threshold is calculated by adding an offset value to the shutdown temperature threshold, wherein the offset value is determined based on the ambient temperature. In some examples, the method further comprises detecting that the electronic device is no longer in direct sunlight; and in response, reverting the shutdown temperature threshold back to the original threshold.


Some examples that address or factor in ambient conditions generate different curves under different ambient conditions and select a curve based on both power consumption and ambient condition, rather than adjusting the shutdown temperature threshold based on ambient conditions. This is because the shutdown temperature is usually fixed or preset in a device due to its thermal limit and is not very adjustable, if at all. In some examples, instead of simply generating curves at different power levels, the examples generate curves at different combinations of power level and ambient temperature and when running a prediction they select which curve to use based on the current moment's power consumption and ambient temperature. Other factors examples can take into account when generating and selecting curves can include a screen brightness level, and/or whether a device charger is plugged in, and other factors.



FIG. 6 is a flowchart illustrating a method 600, according to some example embodiments, for predicting remaining thermal runtime of an electronic device. Although the described flow diagram can show operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged, or omitted. A process is terminated when its operations are completed. A process may correspond to a method, a procedure, an algorithm, etc. The operations of methods may be performed in whole or in part, may be performed in conjunction with some or all of the operations in other methods, and may be performed by any number of different systems, such as the systems described herein, or any portion thereof, such as a processor included in any of the systems. In some examples, data logging operations occur separately prior to the prediction algorithm or prediction operations. In some examples, data may be logged and collected from artificially stressing the device at different loads, rather than in a thermal runtime processor on the fly. This can make generating data at constant power easier. In some examples, data generation is a separate process.


In operation 602, method 600 periodically logs, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of the electronic device. In operation 604, method 600 fits quadratic curves modelling a relationship between temperature over time at a plurality of different power levels based on the logged temperature sensor readings and power consumption. In operation 606, method 600 determines a current power consumption of the one or more SOCs. In operation 608, method 600 selects a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption. In operation 610, method 600 determines a time to reach a shutdown temperature on the selected quadratic curve. In operation 612, method 600 calculates a remaining thermal runtime based on the determined time to reach the shutdown temperature.


The method may also include determining a current temperature reading from the on-device logger, and determining a point on the selected quadratic curve that corresponds to the determined current temperature reading, where the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature. The method may also include fitting the plurality of quadratic curves includes fitting quadratic curves based on stabilized temperature readings within a predefined time period. The method may also include where the predefined time period is 20 minutes. The method may also include where the electronic device includes augmented reality glasses.


The method may also include where the one or more SOCs comprise a first SOC associated with an application processor and a second SOC associated with a graphics processor of the augmented reality glasses. The method may also include periodically logging, by the on-device logger, a first temperature sensor reading for the first SOC and a second temperature sensor reading for the second SOC.


The method may also include where fitting the plurality of quadratic curves includes fitting a first set of quadratic curves based on the first temperature sensor readings at the plurality of different power levels of the first SOC, and fitting a second set of quadratic curves based on the second temperature sensor readings at the plurality of different power levels of the second SOC.


The method may also include where selecting the quadratic curve includes selecting from the first set of quadratic curves based on the determined current power consumption of the first SOC, and selecting from the second set of quadratic curves based on the determined current power consumption of the second SOC. Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.



FIG. 7 is a flowchart illustrating a method 700, according to some example embodiments, for predicting a remaining runtime until a shutdown temperature is reached in an electronic device. Although the described flow diagram can show operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged, or omitted. A process is terminated when its operations are completed. A process may correspond to a method, a procedure, an algorithm, etc. The operations of methods may be performed in whole or in part, may be performed in conjunction with some or all of the operations in other methods, and may be performed by any number of different systems, such as the systems described herein, or any portion thereof, such as a processor included in any of the systems. In some examples, data logging operations occur separately prior to the prediction algorithm or prediction operations. In some examples, data may be logged and collected from artificially stressing the device at different loads, rather than in a thermal runtime processor on the fly. This can make generating data at constant power easier. In some examples, data generation is a separate process.


In operation 702, method 700 obtains power consumption of a component or processor in the electronic device. In operation 704, method 700 obtains a current temperature reading from a temperature sensor associated with the component or processor. In operation 706, method 700 selects a predefined function representing a relationship between temperature and time at the obtained power consumption. In operation 708, method 700 determines coordinates of the current temperature reading on the selected function. In operation 710, method 700 determines coordinates of the shutdown temperature on the selected function. In operation 712, method 700 calculates a difference between the time coordinates of the shutdown temperature and the current temperature to determine a predicted remaining runtime until the component or processor reaches the shutdown temperature if power consumption remains constant.


Examples

Thus, some embodiments may include one or more of the following examples.


1. A method for predicting remaining thermal runtime of an electronic device, the method comprising: periodically logging, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of the electronic device; fitting a plurality of quadratic curves modelling a relationship between temperature over time at a respective plurality of different power levels based on the logged temperature sensor readings and power consumption; determining a current power consumption of the one or more SOCs; selecting a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption; determining a time to reach a shutdown temperature on the selected quadratic curve; and calculating a remaining thermal runtime based on the determined time to reach the shutdown temperature.


2. The method of example 1, further comprising: determining a current temperature reading from the on-device logger; and determining a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.


3. The method of example 1 or 2, wherein fitting the plurality of quadratic curves comprises fitting quadratic curves based on stabilized temperature readings within a predefined time period.


4. The method of example 3, wherein the predefined time period is approximately 20 minutes.


5. The method of any one of examples 1-4, wherein the electronic device comprises augmented reality glasses.


6. The method of any one of examples 1-5, wherein the one or more SOCs comprise a first SOC associated with an application processor and a second SOC associated with a graphics processor of the augmented reality glasses.


7. The method of any one of examples 1-6, further comprising: periodically logging, by the on-device logger, a first temperature sensor reading for the first SOC and a second temperature sensor reading for the second SOC.


8. The method of any one of examples 1-7, wherein fitting the plurality of quadratic curves comprises: fitting a first set of quadratic curves based on the first temperature sensor readings at the plurality of different power levels of the first SOC; and fitting a second set of quadratic curves based on the second temperature sensor readings at the plurality of different power levels of the second SOC.


9. The method of any one of examples 1-8, wherein selecting the quadratic curve comprises: selecting from the first set of quadratic curves based on the determined current power consumption of the first SOC; and selecting from the second set of quadratic curves based on the determined current power consumption of the second SOC.


10. An electronic device comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the electronic device to: periodically log, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of the electronic device; fit quadratic curves modelling a relationship between temperature over time at a plurality of different power levels based on the logged temperature sensor readings and power consumption; determine a current power consumption of the one or more SOCs; select a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption; determine a time to reach a shutdown temperature on the selected quadratic curve; and calculate a remaining thermal runtime based on the determined time to reach the shutdown temperature.


11. The electronic device of example 10, wherein the instructions further configure the device to: determine a current temperature reading from the on-device logger; and determine a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.


12. The electronic device of example 10 or 11, wherein fit the plurality of quadratic curves comprises fitting quadratic curves based on stabilized temperature readings within a predefined time period.


13. The electronic device of example 12, wherein the predefined time period is approximately 20 minutes.


14. The electronic device of any one of examples 10-13, wherein the electronic device comprises augmented reality glasses.


15. The electronic device of any one of examples 10-14, wherein the one or more SOCs comprise a first SOC associated with an application processor and a second SOC associated with a graphics processor of the augmented reality glasses.


16. The electronic device of any one of examples 10-15, wherein the instructions further configure the device to: periodically log, by the on-device logger, a first temperature sensor reading for the first SOC and a second temperature sensor reading for the second SOC.


17. The electronic device of any one of examples 10-16, wherein fitting the plurality of quadratic curves comprises: fit a first set of quadratic curves based on the first temperature sensor readings at the plurality of different power levels of the first SOC; and fit a second set of quadratic curves based on the second temperature sensor readings at the plurality of different power levels of the second SOC.


18. The electronic device of any one of examples 10-17, wherein selecting the quadratic curve comprises: select from the first set of quadratic curves based on the determined current power consumption of the first SOC; and select from the second set of quadratic curves based on the determined current power consumption of the second SOC.


19. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to: periodically log, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of an electronic device; fit quadratic curves modelling a relationship between temperature over time at a plurality of different power levels based on the logged temperature sensor readings and power consumption; determine a current power consumption of the one or more SOCs; select a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption; determine a time to reach a shutdown temperature on the selected quadratic curve; and calculate a remaining thermal runtime based on the determined time to reach the shutdown temperature.


20. The computer-readable storage medium of example 19, wherein the instructions further configure the computer to: determine a current temperature reading from the on-device logger; and determine a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.


21. A method for predicting a remaining runtime until a shutdown temperature is reached in an electronic device, the method including: obtaining power consumption of a component or processor in the electronic device; obtaining a current temperature reading from a temperature sensor associated with the component or processor; selecting a predefined function representing a relationship between temperature and time at the obtained power consumption; determining coordinates of the current temperature reading on the selected function; determining coordinates of the shutdown temperature on the selected function; and calculating a difference between the time coordinates of the shutdown temperature and the current temperature to determine a predicted remaining runtime until the component or processor reaches the shutdown temperature if power consumption remains constant.


Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader scope of the disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This detailed description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.


Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “example” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.

Claims
  • 1. A method for predicting remaining thermal runtime of an electronic device, the method comprising: periodically logging, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of the electronic device;fitting a plurality of quadratic curves modelling a relationship between temperature over time at a respective plurality of different power levels based on the logged temperature sensor readings and power consumption;determining a current power consumption of the one or more SOCs;selecting a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption;determining a time to reach a shutdown temperature on the selected quadratic curve; andcalculating a remaining thermal runtime based on the determined time to reach the shutdown temperature.
  • 2. The method of claim 1, further comprising: determining a current temperature reading from the on-device logger; anddetermining a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.
  • 3. The method of claim 1, wherein fitting the plurality of quadratic curves comprises fitting quadratic curves based on stabilized temperature readings within a predefined time period.
  • 4. The method of claim 3, wherein the predefined time period is approximately 20 minutes.
  • 5. The method of claim 1, wherein the electronic device comprises augmented reality glasses.
  • 6. The method of claim 5, wherein the one or more SOCs comprise a first SOC associated with an application processor and a second SOC associated with a graphics processor of the augmented reality glasses.
  • 7. The method of claim 6, further comprising: periodically logging, by the on-device logger, a first temperature sensor reading for the first SOC and a second temperature sensor reading for the second SOC.
  • 8. The method of claim 7, wherein fitting the plurality of quadratic curves comprises: fitting a first set of quadratic curves based on the first temperature sensor readings at the plurality of different power levels of the first SOC; andfitting a second set of quadratic curves based on the second temperature sensor readings at the plurality of different power levels of the second SOC.
  • 9. The method of claim 8, wherein selecting the quadratic curve comprises: selecting from the first set of quadratic curves based on the determined current power consumption of the first SOC; andselecting from the second set of quadratic curves based on the determined current power consumption of the second SOC.
  • 10. An electronic device comprising: a processor; anda memory storing instructions that, when executed by the processor, configure the electronic device to:periodically log, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of the electronic device;fit quadratic curves modelling a relationship between temperature over time at a plurality of different power levels based on the logged temperature sensor readings and power consumption;determine a current power consumption of the one or more SOCs;select a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption;determine a time to reach a shutdown temperature on the selected quadratic curve; andcalculate a remaining thermal runtime based on the determined time to reach the shutdown temperature.
  • 11. The electronic device of claim 10, wherein the instructions further configure the device to: determine a current temperature reading from the on-device logger; anddetermine a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.
  • 12. The electronic device of claim 10, wherein fit the plurality of quadratic curves comprises fitting quadratic curves based on stabilized temperature readings within a predefined time period.
  • 13. The electronic device of claim 12, wherein the predefined time period is approximately 20 minutes.
  • 14. The electronic device of claim 10, wherein the electronic device comprises augmented reality glasses.
  • 15. The electronic device of claim 14, wherein the one or more SOCs comprise a first SOC associated with an application processor and a second SOC associated with a graphics processor of the augmented reality glasses.
  • 16. The electronic device of claim 15, wherein the instructions further configure the device to: periodically log, by the on-device logger, a first temperature sensor reading for the first SOC and a second temperature sensor reading for the second SOC.
  • 17. The electronic device of claim 16, wherein fitting the plurality of quadratic curves comprises: fit a first set of quadratic curves based on the first temperature sensor readings at the plurality of different power levels of the first SOC; andfit a second set of quadratic curves based on the second temperature sensor readings at the plurality of different power levels of the second SOC.
  • 18. The electronic device of claim 17, wherein selecting the quadratic curve comprises: select from the first set of quadratic curves based on the determined current power consumption of the first SOC; andselect from the second set of quadratic curves based on the determined current power consumption of the second SOC.
  • 19. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to: periodically log, by an on-device logger, temperature sensor readings and power consumption of one or more SOCs of an electronic device;fit quadratic curves modelling a relationship between temperature over time at a plurality of different power levels based on the logged temperature sensor readings and power consumption;determine a current power consumption of the one or more SOCs;select a quadratic curve from the plurality of quadratic curves that corresponds to the determined current power consumption;determine a time to reach a shutdown temperature on the selected quadratic curve; andcalculate a remaining thermal runtime based on the determined time to reach the shutdown temperature.
  • 20. The computer-readable storage medium of claim 19, wherein the instructions further configure the computer to: determine a current temperature reading from the on-device logger; anddetermine a point on the selected quadratic curve that corresponds to the determined current temperature reading, wherein the remaining thermal runtime is calculated based on the determined point and the time to reach the shutdown temperature.
  • 21. A method for predicting a remaining runtime until a shutdown temperature is reached in an electronic device, the method including: obtaining power consumption of a component or processor in the electronic device;obtaining a current temperature reading from a temperature sensor associated with the component or processor;selecting a predefined function representing a relationship between temperature and time at the obtained power consumption;determining coordinates of the current temperature reading on the selected function;determining coordinates of the shutdown temperature on the selected function; andcalculating a difference between the time coordinates of the shutdown temperature and the current temperature to determine a predicted remaining runtime until the component or processor reaches the shutdown temperature if power consumption remains constant.