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:
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.
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:
A method and apparatus of a device for performance management by terminating application programs that consume an excessive amount of system resources is described. The device receives a resource consumption threshold and a detection period. The device further monitors a resource usage of an application program. The device determines whether the resource usage of the application program exceeds the resource consumption threshold for the detection period. The device further terminates the application program when the resource usage exceeds the resource consumption threshold for the detection period.
Abstract:
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.
Abstract:
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.
Abstract:
A method and apparatus of a device for performance management by terminating application programs that consume an excessive amount of system resources is described. The device receives a resource consumption threshold and a detection period. The device further monitors a resource usage of an application program. The device determines whether the resource usage of the application program exceeds the resource consumption threshold for the detection period. The device further terminates the application program when the resource usage exceeds the resource consumption threshold for the detection period.
Abstract:
Systems and methods are described for communicating between VoIP applications installed on a mobile computing device and their corresponding servers using a cloud-based notification infrastructure. In one aspect, a method is performed by a notification handler executing on a mobile computing device and includes the actions of maintaining a persistent network connection between the notification handler and a notification server associated with the notification handler; receiving, over the persistent network connection, an incoming call notification for a VoIP application installed on the mobile computing device, the received incoming call notification being relayed by the notification server from a VoIP server to which the VoIP application is associated; determining, in response to the receiving of the incoming call notification, that the VoIP application is in an inactive state; and activating the VoIP application on the mobile computing device to provide information relating to the received incoming call notification.
Abstract:
Systems and methods are described for communicating between VoIP applications installed on a mobile computing device and their corresponding servers using a cloud-based notification infrastructure. In one aspect, a method is performed by a notification handler executing on a mobile computing device and includes the actions of maintaining a persistent network connection between the notification handler and a notification server associated with the notification handler; receiving, over the persistent network connection, an incoming call notification for a VoIP application installed on the mobile computing device, the received incoming call notification being relayed by the notification server from a VoIP server to which the VoIP application is associated; determining, in response to the receiving of the incoming call notification, that the VoIP application is in an inactive state; and activating the VoIP application on the mobile computing device to provide information relating to the received incoming call notification.