US 11,940,860 B2
Power budget management using quality of service (QoS)
Sandeep Prabhakar, Bellevue, WA (US); Mark Allan Bellon, Seattle, WA (US); Mika Megan Latimer, Redmond, WA (US); Tristan Anthony Brown, Houston, TX (US); Christopher Peter Kleynhans, Bothell, WA (US); and Rahul Narayanan Nair, Kirkland, WA (US)
Assigned to Microsoft Technology Licensing, LLC., Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 20, 2022, as Appl. No. 17/844,626.
Claims priority of provisional application 63/213,392, filed on Jun. 22, 2021.
Prior Publication US 2022/0404888 A1, Dec. 22, 2022
Int. Cl. G06F 1/32 (2019.01); G06F 1/324 (2019.01)
CPC G06F 1/324 (2013.01) 20 Claims
OG exemplary drawing
 
1. A system for managing a power budget, the system comprising:
an operating system;
a processor;
a memory storing one or more applications that are executable by the processor; and
a power budget manager, implemented on the operating system, that:
receives collected data in real-time or near real-time from a sensor;
monitors the collected data against a platform mitigation threshold;
designates each of the one or more applications with an individual quality of service (QoS) designation;
assigns a throttling priority to each of the one or more applications based on the individual QoS designation;
determines whether the platform mitigation threshold is exceeded based on the monitoring;
responsive to determining that the platform mitigation threshold is exceeded, throttles processing power allocated to at least one application of the one or more applications based on the throttling prioritization;
responsive to the throttling of the processing power allocated to the at least one application, analyzes updated collected data against the platform mitigation threshold;
iteratively generates a throttling score for the at least one application;
adjusts the generated throttling score based on the analysis of the updated collected data; and
throttles the processing power allocated to the at least one application according to the adjusted throttling score.