US 11,811,846 B2
Thermal state inference based frequency scaling
Michael Cieslak, Los Angeles, CA (US); and Michael David Marr, Monroe, WA (US)
Assigned to Snap Inc., Santa Monica, CA (US)
Filed by Snap Inc., Santa Monica, CA (US)
Filed on May 18, 2022, as Appl. No. 17/747,843.
Application 17/747,843 is a continuation of application No. 17/347,298, filed on Jun. 14, 2021, granted, now 11,368,558.
Application 17/347,298 is a continuation of application No. 16/382,409, filed on Apr. 12, 2019, granted, now 11,140,243, issued on Oct. 5, 2021.
Claims priority of provisional application 62/827,012, filed on Mar. 30, 2019.
Prior Publication US 2022/0279031 A1, Sep. 1, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 67/01 (2022.01); G06F 9/355 (2018.01)
CPC H04L 67/01 (2022.05) [G06F 9/3555 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
monitoring, by a server, a thermal state of a client device comprising a processor, wherein monitoring is for a predetermined period or initiated in response to a user-initiated interaction with the device;
determining, by the server, if the thermal state violates a thermal threshold, wherein the server receives the thermal threshold from the client device;
selecting a stored policy associated with the monitored thermal state if the thermal state violates the thermal threshold;
communicating, by the server, the selected stored policy to a client application on the client device for implementation by a processor of the client device, wherein the stored policy communicated to the client device is configured to adjust speculative tasks running on the client application,
wherein monitoring comprises detecting and logging over one or more predetermined sampling periods the load and frequency of at least one central processing unit (CPU) from each core of the at least one CPU of the client device, wherein the average CPU load and frequency from each core of the at least one CPU are combined to provide an operation index, wherein a maximum is identified for the operation index that reflects the thermal threshold, wherein the thermal threshold is violated if the operation index falls below the maximum; and
implementing, by the processor, the selected stored policy communicated by the server that is responsive to the violation of the thermal threshold received from the client device.