System and method for energy usage accounting in software applications
US-10013511-B2 · Jul 3, 2018 · US
US11748224B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11748224-B2 |
| Application number | US-202117151005-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 15, 2021 |
| Priority date | Jun 3, 2018 |
| Publication date | Sep 5, 2023 |
| Grant date | Sep 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present disclosure include methods and systems for generating and processing energy consumption reports received from a plurality of devices. The reports may include a plurality of call stacks captured and stored by remote device as a result of an energy consumption of the corresponding device. For each energy consumption report, the plurality of call stacks may be analyzed to determine a representative call stack of the energy consumption report. The energy consumption reports may be assigned to one or more of a plurality of energy consumption categories based on distances between the representative call stacks of the energy consumption reports and corresponding representative call stacks of the energy consumption categories. A request may be received for energy consumption reports for a particular energy consumption category. Upon receiving the request, providing a representative set of energy consumption reports assigned to the particular energy consumption category.
Opening claim text (preview).
What is claimed is: 1. A method comprising performing, by a server computer: receiving an energy consumption report from a device, wherein the energy consumption report includes a plurality of call stacks associated with energy consumption of an application on the device; analyzing the plurality of call stacks to determine a representative call stack of the energy consumption report, the representative call stack including a set of frames corresponding to programs in the representative call stack; assigning the energy consumption report to a category of energy consumption reports based on differences between the representative call stack of the energy consumption report and a representative call stack assigned to a particular category; receiving a request for energy consumption reports for a particular energy consumption category; and providing a representative set of energy consumption reports assigned to the particular energy consumption category. 2. The method of claim 1 , wherein assigning the energy consumption report to the category of energy consumption reports is further based on: determining that a distance between the representative call stack of the energy consumption report and the representative call stack assigned to the category of energy consumption reports is less than a threshold amount. 3. The method of claim 2 , wherein the distance between the representative call stack of the energy consumption report and the representative call stack assigned to the category of energy consumption reports is zero. 4. The method of claim 1 , wherein analyzing the plurality of call stacks to determine a representative call stack of the energy consumption report further comprises: converting one or more programming counters associated with the plurality of call stacks to a symbolic form. 5. The method of claim 1 , wherein analyzing the plurality of call stacks to determine a representative call stack of the energy consumption report further comprises: selecting a call stack from the plurality of call stacks that appears with a highest frequency in the plurality of call stacks as the representative call stack. 6. The method of claim 1 , further comprising: generating a signature for the energy consumption report using the representative call stack of the energy consumption report, wherein the signature includes one or more frames from the representative call stack associated with the application, and wherein the signature excludes one or more frames of the representative call stack associated with one or more other applications. 7. The method of claim 6 , wherein the signature includes up to five frames and excludes frames associated with an operating system. 8. The method of claim 1 , further comprising: removing one or more duplicate frames from the representative call stack. 9. The method of claim 1 , further comprising: providing a user interface to a requesting computer, the user interface accepting user input of a request for energy consumption information associated with a particular program; determining a particular category of energy consumption reports that is associated with the particular program; and displaying, using the user interface, a representative set of energy consumption reports corresponding to the particular category of energy consumption reports. 10. The method of claim 1 , wherein each of the representative set of energy consumption reports is assigned to a particular energy consumption category based on distances between a percentage of the plurality of call stacks of the energy consumption report and a corresponding percentage of call stacks assigned to the energy consumption category being less than a threshold. 11. A system comprising: one or more processors a non-transitory computer-readable media including instructions which when executed by the one or more processors, cause the one or more processors to perform operations including: receiving an energy consumption report from a device, wherein the energy consumption reports includes a plurality of call stacks associated with energy consumption of an application on the device; analyzing the plurality of call stacks to determine a representative call stack of the energy consumption report, the representative call stack including a set of frames corresponding to programs in the representative call stack; assigning the energy consumption report to a category of energy consumption reports based on differences between the representative call stack of the energy consumption report and a representative call stack assigned to a particular category; receiving a request for energy consumption reports for a particular energy consumption category; and providing a representative set of energy consumption reports assigned to the particular energy consumption category. 12. The system of claim 11 , where assigning the energy consumption report to the category of energy consumption reports is further based on: determining that a distance between the representative call stack of the energy consumption report and the representative call stack assigned to a category of energy consumption reports is less than a threshold amount. 13. The system of claim 12 , wherein the distance between the representative call stack of the energy consumption report and the representative call stack assigned to the category of energy consumption reports is zero. 14. The system of claim 11 , stack of the energy consumption report further comprises: converting one or more programming counters associated with the plurality of call stacks to a symbolic form. 15. The system of claim 11 , wherein analyzing the plurality of call stacks to determine a representative call stack of the energy consumption report further comprises: selecting a call stack from the plurality of call stacks that appears with a highest frequency in the plurality of call stacks as the representative call stack. 16. The system of claim 11 , wherein the operations further include: generating a signature for the energy consumption report using the representative call stack of the energy consumption report, wherein the signature includes one or more frames from the representative call stack associated with the application, and wherein the signature excludes one or more frames of the representative call stack associated with one or more other applications. 17. The system of claim 11 , wherein the operations further include: removing one or more duplicate frames from the representative call stack. 18. The system of claim 11 , wherein the operations further include: providing a user interface to a requesting computer, the user interface accepting user input of a request for energy consumption information associated with a particular program; determining a particular category of energy consumption reports that is associated with the particular program; and displaying, using the user interface, a representative set of energy consumption reports corresponding to the particular category of energy consumption reports. 19. The system of claim 11 , wherein each of the representative set of energy consumption reports is assigned to a particular energy consumption category based on distances between a percentage of the plurality of call stacks of the energy consumption report and a corresponding percentage of call stacks assigned to the energy consumption category being less than a threshold. 20. A non-transitory computer-readable media including instructions which when executed by
Environments for analysis, debugging or testing of software · CPC title
by checking functioning · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
where the monitored property is the power consumption (power management in a computing system G06F1/3203) · CPC title
the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.