Detection and analysis of energy consumption of software applications

US11748224B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11748224-B2
Application numberUS-202117151005-A
CountryUS
Kind codeB2
Filing dateJan 15, 2021
Priority dateJun 3, 2018
Publication dateSep 5, 2023
Grant dateSep 5, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11748224B2 cover?
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 t…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3062. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).