Abstract:
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.
Abstract:
Circuits, methods, and apparatus that may estimate the power being consumed by an OLED display screen of an electronic device, may provide further information about that power usage, may modify or change functions performed by the electronic device based on that power usage, and may inform an application's developer about the amount of power being used by the electronic device while the electronic device is running the application. One example may estimate the power being used by an OLED display screen of an electronic device by determining the content of images being displayed during a duration. The estimated power may then be presented to a user. The estimated power may be used in decisions to modify or change parameters of the screen or other device components.
Abstract:
A portable electronic device having a user interface for displaying battery usage of the device over a given time period, with the battery usage from various subsystems. The various subsystems including at least one hardware subsystem and the battery usage attributed to a plurality of software applications based on activity of the plurality of software applications, while battery usage of the various subsystems was monitored.
Abstract:
A technique for estimating energy consumption of a portable electronic device is described. During this energy-estimation technique, the portable electronic device determines hardware-state information for communication subsystems that implement different communication protocols, and software-state information for the communication protocols. Then, using models for the communication subsystems, and the hardware-state information and the software-state information, the portable electronic device estimates the energy consumption. Based on the estimated energy consumption, certain percentages of the battery charge may be allotted for different applications or features, battery-life diagnostics may be improved, and useful information may be provided to a user about the battery drain on their portable electronic device.
Abstract:
The disclosed embodiments provide a system that processes incoming network packets to an electronic device. The system includes an analysis apparatus that maintains a list of accepted incoming packet attributes for the electronic device based on outgoing packets from the electronic device. The system also includes a filtering apparatus that compares a first set of header information for an incoming packet to the list. If the first set of header information is not included in the list, the filtering apparatus discards the incoming packet. If the first set of header information is included in the list, the filtering apparatus enables subsequent processing of the incoming packet on the electronic device by, for example, providing the incoming packet to a transport-layer mechanism on the electronic device for subsequent processing of the incoming packet by the transport-layer mechanism.
Abstract:
Systems and methods are disclosed for determining hours of utility of an application per amount of energy consumed by the application for a wide variety of device types. For each subsystem of a client device, a model of the subsystem is used to estimate a portion of the total energy consumed by the subsystem during a predetermined period of time. Energy consumed by a subsystem is apportioned to one or more applications or daemons that utilize the subsystem. Energy usage by a daemon is apportioned to one or more applications that the daemon performs work on behalf of. A large sample of application energy consumption information is gathered by an energy server and provided to an application information server that is accessible by developers. Thus, a developer can view energy consumption vs. application utility, by client device type and by subsystem for the client device type.
Abstract:
In order to reduce latency associated with an application executed by an electronic device, when the application transitions from a runnable mode to a suspended state, the electronic device may receive a request from the application to maintain a connection, which is used by the application to communicate with another electronic device, while the application is in the suspended state. Then, the electronic device may provide an instruction to an interface circuit in the electronic device to maintain the connection for a time interval while the application is in the suspended state. This time interval may exceed a predefined timeout for the connection and/or a task extension time for the application. Moreover, prior to providing the instruction, the electronic device may confirm one or more system safeguards to prevent abuse and to ensure system performance and battery life is not adversely affected by maintaining the connection.
Abstract:
In order to reduce latency associated with an application executed by an electronic device, when the application transitions from a runnable mode to a suspended state, the electronic device may receive a request from the application to maintain a connection, which is used by the application to communicate with another electronic device, while the application is in the suspended state. Then, the electronic device may provide an instruction to an interface circuit in the electronic device to maintain the connection for a time interval while the application is in the suspended state. This time interval may exceed a predefined timeout for the connection and/or a task extension time for the application. Moreover, prior to providing the instruction, the electronic device may confirm one or more system safeguards to prevent abuse and to ensure system performance and battery life is not adversely affected by maintaining the connection.
Abstract:
In some implementations, a mobile device can be configured to monitor environmental, system and user events. The occurrence of one or more events can trigger adjustments to system settings. In some implementations, the mobile device can be configured to keep frequently invoked applications up to date based on a forecast of predicted invocations by the user. In some implementations, the mobile device can receive push notifications associated with applications that indicate that new content is available for the applications to download. The mobile device can launch the applications associated with the push notifications in the background and download the new content. In some implementations, before running an application or accessing a network interface, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device to preserve a high quality user experience.
Abstract:
In order to facilitate reduced power consumption of an electronic device (such as a smartphone) when communicating with another electronic device (such as an access point) in a wireless network, the electronic device may change a wake policy based on the applications executing on the electronic device. In particular, the electronic device may monitor a subset of the applications currently executed by a processor in the electronic device, where the subset can include zero or more of the applications. Based on the subset, the wake policy of an interface circuit in the electronic device may be changed. This wake policy may specify a frequency of wake ups to receive information from the other electronic device and/or monitoring of unicast or multicast bits in a Traffic Indication Map element. In this way, the time that the electronic device is in the active mode can be reduced, thereby reducing power consumption.