Secure remote desktop session
US-2017359348-A1 · Dec 14, 2017 · US
US11243597B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11243597-B2 |
| Application number | US-201816147132-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 28, 2018 |
| Priority date | Jun 3, 2018 |
| Publication date | Feb 8, 2022 |
| Grant date | Feb 8, 2022 |
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.
Techniques are disclosed performing a power logging in a computer system at a sub-process level. An exemplary method includes an operating system of the computer system determining process information indicative of which sub-portions of one or more processes are running on the computer system at different points in time, as well as may determining power information for the computer system at different points in time. The operating system may the create, from the process information and the power information, a power log indicative of power usage of sub-portions of processes at a plurality of points in time. The power logging may extend to both core and non-core resources of the system. For non-core resources, the power usage may be estimated in some cases based on the type of non-core resource being called as well as parameters passed to the non-core resource.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: determining, by an operating system of a computer system, first process information indicative of which sub-portions of one or more processes are running on the computer system at different points in time; determining, by the operating system at different points in time, that an application programming interface (API) of a non-core resource has been executed by the computer system; in response to determining the API has been executed, generating, by the operating system, second process information indicative of usage of the non-core resource; determining, by the operating system, power information for the computer system at different points in time; estimating, by the operating system using the first process information, second process information, and the power information, respective power usage values for individual ones of sub-portions of the one or more processes that are running at a plurality of different points in time; and creating, by the operating system, a power log using the power usage values. 2. The method of claim 1 , wherein the power log is created to include an entry for a particular point in time, wherein the entry indicates power usage over a range of time that includes at least the particular point in time. 3. The method of claim 1 , wherein creating a particular entry in the power log includes correlating the power information corresponding to a particular range in time with the first process information for the particular range in time. 4. The method of claim 3 , wherein the power information includes stored voltage level and clock frequency information for one or more processing cores in the computer system. 5. The method of claim 4 , wherein determining the power information for a particular processing core of the one or more processing cores during the particular range in time is based on the voltage level and clock frequency information for the particular processing core during the particular range in time. 6. The method of claim 1 , wherein determining the first process information comprises determining, for a plurality of processing cores in the computer system, which sub-portions of the one or more processes are running on which of the plurality of processing cores. 7. The method of claim 1 , wherein determining the first and second process information includes: performing stack traces at regular intervals to determine the first process information that is associated with one or more cores included in the computer system; and additionally, performing stack traces upon detecting a beginning and an end of usage of the non-core resource that is associated with the second process information. 8. The method of claim 7 , wherein estimating the respective power usage values comprises: estimating a first set of power usage values based on the first process information and the power information at the different points in time; and adjusting ones of the first set of power usage values occurring during usage of the non-core resource based on an estimated power consumption of the non-core resource. 9. The method of claim 8 , wherein the estimated power consumption is based on a parameter associated with the estimated power consumption of the non-core resource. 10. The method of claim 9 , wherein the parameter is indicative of an amount of data specified in a call to the non-core resource. 11. The method of claim 1 , further comprising sending, by the operating system, information in the power log to a database system external to the computer system, wherein the database system is configured to receive information from power logs of other computer systems. 12. An apparatus, comprising: one or more processing cores; one or more peripheral processing circuits; and a memory storing instructions executable by the one or more processing cores to: identify one or more active sub-portions of one or more processes that are running on the one or more processing cores at a first plurality of different points in time; determine first power information for the one or more processing cores at different points in time; determine, at a second plurality of different points in time, that an application programming interface (API) of a particular one of the peripheral processing circuits has been executed by a particular one of the one or more processing cores; in response to determining the API has been executed, generate second power information indicative of usage of the particular peripheral processing circuit; estimate, using the first and second power information, respective power usage values associated with the identified active sub-portions at a plurality of different points in time; and maintain a power log that includes the estimated power usage values. 13. The apparatus of claim 12 , wherein to estimate the respective power usage values, the instructions are further executable to: estimate a first set of power usage values based on the first power information at the different points in time; and using an estimated power consumption for the particular peripheral processing circuit, adjust ones of the first set of power usage values that correspond to usage of the particular peripheral processing circuit. 14. The apparatus of claim 12 , wherein the one or more peripheral processing circuits include at least one circuit selected from the group consisting of: a global positioning system (GPS) receiver circuit, a cellular radio circuit, a Bluetooth radio circuit, a WiFi radio circuit, a graphics processing unit (GPU), a digital signal processor (DSP). 15. The apparatus of claim 12 , wherein the instructions are executable to: perform stack traces at regular intervals to identify the one or more active sub-portions; and perform additional stack traces in response to a detection of a beginning and of an end of usage of the particular peripheral processing circuit. 16. The apparatus of claim 12 , wherein the instructions are executable to provide an interface that permits selection of the one or more peripheral processing circuits for which power information is to be tracked. 17. A non-transitory computer-readable medium having instructions stored thereon that are executable by a computer system to perform operations comprising: determining process information indicative of which functions within one or more processes are running on a plurality of processor cores in the computer system at different points in time; determining a first set of power information indicative of power consumption of each of the plurality of processor cores at different points in time; determining, at different points in time, that an application programming interface (API) of a peripheral processing circuit has been executed by the computer system; in response to determining the API has been executed, generating a second set of power information that estimates power consumption of the peripheral processing circuit; correlating the process information with the first and second sets of power information to estimate respective power usage values for the running functions at a plurality of different points in time; and generate, using the power usage values, a power log for the computer system. 18. The non-transitory computer-readable medium of claim 17 , wherein estimation of power consumption of the particular peripheral processing circuit is weighted based on an amount of data specified in a call to the peripheral processing circuit. 19. The non-transitory computer-readable med
Supervision thereof, e.g. detecting power-supply failure by out of limits supervision · CPC title
Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title
Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.