IP Library Granted Patent US 12700026
Granted Patent B2
US 12700026 · App. 17/656,915 · Granted Aug 4, 2026

System and method for generating personalized efficiency recommendations

Inventors: Ritesh Kini (Redmond, WA); Edward Tiong (Cambridge, MA); Doug Thompson (Redmond, WA); Brody Berg (Redmond, WA); Martin Jansky (Redmond, WA); Mark Timothy Carreon Rivera (Redmond, WA); Jennifer Tamara Velagic (Ontario, CA); Lindsay Neboshynsky (Baltimore, MD); Tony Tran (Redmond, WA); Eva Gyorki (Redmond, WA); Julia A. Cheng (Redmond, WA); Leena Choi (Redmond, WA); James Sanders (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06Q30/0631G06F3/0482G06Q30/0201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12700026
App. No.
17/656,915
Granted
Aug 4, 2026
Kind
B2
Abstract

A system includes: a processor; and memory including instructions that, when executed by the processor, cause the processor to: receive personalization profile parameters from a user of a relevant resource device; calculate a representative utilization of the relevant resource device based on the personalization profile parameters; and generate the recommendation based on the representative utilization and the personalization profile parameters.

Claims (85)

1 . A system comprising:

a processing circuit; and

memory comprising instructions that, when executed by the processing circuit, cause the processing circuit to:

receive, by a profile parameterizer of the processing circuit, personalization profile parameters from a user of a relevant resource device, wherein the personalization profile parameters include values, specified by the user, for configuring an operational performance of the relevant resource device;

generate, by a data aggregator of the processing circuit, utilization data by aggregating telemetry data for the relevant resource device based on a data aggregation parameter of the personalization profile parameters, wherein the data aggregation parameter specifies a time interval at which the telemetry data is collected;

calculate, by a utilization calculator of the processing circuit, a representative utilization of the relevant resource device based on the personalization profile parameters and the utilization data, wherein the representative utilization:

is a calculated percentile of the utilization data that is based on a percentile parameter of the personalization profile parameters; and

represents an amount of operational utilization of the relevant resource device for achieving a stated performance objective of the user for the relevant resource device;

generate, by a recommendation selector of the processing circuit, a recommendation based on the representative utilization and the personalization profile parameters, wherein generating the recommendation comprises:

determining a first workload profile for a desired resource device based on the representative utilization;

selecting at least one candidate resource device from among a set of candidate devices based on the representative utilization, wherein a second workload profile for the at least one candidate resource device is similar to the first workload profile for the desired resource device; and

including the at least one candidate resource device in the recommendation based on similarity between the first workload profile and the second workload profile; and

provide the recommendation for display in a user interface of a display device, the user interface comprising an action selector that, when selected, causes implementation of the at least one candidate resource device.

2 . The system of claim 1 , wherein a graphical user interface is transmitted to a user device of the user to receive the personalization profile parameters.

3 . The system of claim 2 , wherein the user device is the display device and to be displayed on the graphical user interface is the user interface of the display device.

4 . The system of claim 1 , wherein two recommendations are generated concurrently, the two recommendations comprising the recommendation.

5 . The system of claim 1 , wherein to determine the recommendation to generate, the instructions further cause the processing circuit to encode a selected value of a recommendation preference parameter of the personalization profile parameters as a binary feature in a recommendation data structure.

6 . The system of claim 1 , wherein to generate the recommendation, the instructions further cause the processing circuit to:

identify a plurality of potential candidate devices;

calculate an adjusted capacity of each of the plurality of potential candidate devices based on a threshold parameter of the personalization profile parameters;

determine a workload profile according to a current capacity of the relevant resource device modified by the representative utilization of the relevant resource device; and

calculate a distance metric between the workload profile and a capacity of adjacent ones of the plurality of potential candidate devices.

7 . The system of claim 6 , wherein the instructions further cause the processing circuit to:

rank each of the adjacent ones of the plurality of potential candidate devices based on the distance metric; and

compare a threshold adjusted capacity of each ranked potential candidate device with the workload profile of a desired resource device.

8 . A method comprising:

receiving, by a profile parameterizer implemented in memory of a processing circuit of a recommendation service device, personalization profile parameters from a user of a relevant resource device, wherein the personalization profile parameters include values, specified by the user, for configuring an operational performance of the relevant resource device;

generating, by a data aggregator implemented by the processing circuit, utilization data by aggregating telemetry data for the relevant resource device based on a data aggregation parameter of the personalization profile parameters, wherein the data aggregation parameter specifies a time interval at which the telemetry data is collected;

receiving, by a recommendation selector implemented by the processing circuit, a representative utilization of the relevant resource device based on the personalization profile parameters and the utilization data, wherein the representative utilization:

is a calculated percentile of the utilization data that is based on a percentile parameter of the personalization profile parameters; and

represents an amount of operational utilization of the relevant resource device for achieving a stated performance objective of the user for the relevant resource device; and

generating, by the recommendation selector, a recommendation based on the representative utilization and a selected value of a recommendation preference parameter of the personalization profile parameters, wherein generating the recommendation comprises:

determining a first workload profile for a desired resource device based on the representative utilization;

selecting at least one candidate resource device from among a set of candidate devices based on the representative utilization, wherein a second workload profile for the at least one candidate resource device is similar to the first workload profile for the desired resource device; and

including the at least one candidate resource device in the recommendation based on similarity between the first workload profile and the second workload profile;

providing the recommendation for display in a user interface of a display device, the user interface comprising an action selector that, when selected, causes implementation of the at least one candidate resource device; and

in response to receiving a selection of the action selector via the user interface, executing the recommendation to implement the at least one candidate resource device.

9 . The method of claim 8 , further comprising:

identifying, by the recommendation selector, a first recommendation to generate based on a first selected value of a recommendation preference parameter of the personalization profile parameters;

identifying, by the recommendation selector, a second recommendation to generate based on a second selected value of the recommendation preference parameter of the personalization profile parameters; and

generating, by the recommendation selector, the first recommendation and the second recommendation concurrently with each other.

10 . The method of claim 8 , wherein generating the recommendation comprises encoding, by the processing circuit, a selected value of a recommendation preference parameter of the personalization profile parameters as a binary feature in a recommendation data structure.

11 . The method of claim 8 , wherein generating the recommendation comprises:

identifying, by the processing circuit, a plurality of potential candidate devices;

calculating, by the processing circuit, an adjusted capacity of each of the plurality of potential candidate devices based on a threshold parameter of the personalization profile parameters;

determining, by the processing circuit, a workload profile of a desired resource device according to a current capacity of the relevant resource device modified by the representative utilization of the relevant resource device; and

calculating, by the processing circuit, a distance metric between the workload profile of the desired resource device and the adjusted capacity of adjacent ones of the plurality of potential candidate devices.

12 . The method of claim 11 , further comprising:

ranking, by the processing circuit, each of the adjacent ones of the plurality of potential candidate devices based on the distance metric;

comparing, by the processing circuit, a threshold adjusted capacity of each ranked potential candidate devices with the workload profile of the desired resource device; and

identifying, by the processing circuit, a replacement device from among the ranked potential candidate devices based on the comparing.

13 . A computer readable media containing program instructions that, when executed by a processing circuit comprising memory, cause the processing circuit to perform operations comprising:

receiving, by a profile parameterizer of the processing circuit, personalization profile parameters from a user via a graphical user interface displayed on a user device, wherein the personalization profile parameters include values, specified by the user, for configuring an operational performance of a relevant resource device;

generate, by a data aggregator of the processing circuit, utilization data by aggregating telemetry data for the relevant resource device based on a data aggregation parameter of the personalization profile parameters, wherein the data aggregation parameter specifies a time interval at which the telemetry data is collected;

calculating, by a utilization calculator of the processing circuit, a representative utilization of the relevant resource device accessible by the user based on the personalization profile parameters and the utilization data, wherein the representative utilization:

is a calculated percentile of the utilization data that is based on a percentile parameter of the personalization profile parameters; and

represents an amount of operational utilization of the relevant resource device for achieving a stated performance objective of the user for the relevant resource device;

generating, by a recommendation selector of the processing circuit, a recommendation based on the representative utilization and the personalization profile parameters, wherein generating the recommendation comprises:

determining a first workload profile for a desired resource device based on the representative utilization;

selecting at least one candidate resource device from among a set of candidate devices based on the representative utilization, wherein a second workload profile for the at least one candidate resource device is similar to the first workload profile for the desired resource device; and

including the at least one candidate resource device in the recommendation based on similarity between the first workload profile and the second workload profile;

transmitting the recommendation to the user device to be displayed on the graphical user interface; and

in response to receiving an input to execute the recommendation, executing the recommendation to implement the at least one candidate resource device.

14 . The computer readable media of claim 13 , wherein to generate the recommendation, the program instructions further cause the processing circuit to perform operations comprising:

identifying a plurality of potential candidate devices;

calculating an adjusted capacity of each of the plurality of potential candidate devices based on a threshold parameter of the personalization profile parameters;

determining a workload profile of a desired resource device according to a current capacity of the relevant resource device modified by the representative utilization of the relevant resource device; and

calculating a distance metric between the workload profile of the desired resource device and the adjusted capacity of adjacent ones of the plurality of potential candidate devices.

15 . The computer readable media of claim 14 , wherein the program instructions further cause the processing circuit to perform operations comprising:

ranking each of the adjacent ones of the plurality of potential candidate devices based on the distance metric;

comparing a threshold adjusted capacity of each ranked potential candidate devices with the workload profile of the desired resource device; and

identifying a replacement device from among the ranked potential candidate devices based on the comparing.

16 . The computer readable media of claim 14 , wherein the recommendation is one of:

a shutdown recommendation;

a rightsize recommendation; or

a burstable recommendation.

17 . The computer readable media of claim 14 , wherein generating the recommendation comprises:

selecting, by the recommendation selector, one or more recommendation generators implemented by the processing circuit; and

using a selected recommendation generator of the one or more recommendation generators to generate the recommendation.

18 . The computer readable media of claim 14 , wherein the data aggregation parameter specifies one of:

an average/average value;

an average/maximum value; or

a maximum/maximum value.

19 . The system of claim 1 , wherein similarity between the first workload profile and the second workload profile is based on a desired central processing unit (CPU) utilization of the desired resource device being less than an adjusted CPU utilization of the at least one candidate resource device.

20 . The system of claim 1 , wherein similarity between the first workload profile and the second workload profile is based on a desired memory utilization of the desired resource device being less than a memory utilization of the at least one candidate resource device.