Abstract:
This application relates to features for a mobile device that allow the mobile device to assign utility values to applications and thereafter suggest applications for a user to execute. The suggested application can be derived from a list of applications that have been assigned a utility by software in the mobile device. The utility assignment of the individual applications from the list of applications can be performed based on the occurrence of an event, an environmental change, or a period of frequent application usage. A feedback mechanism is provided in some embodiments for more accurately assigning a utility to particular applications. The feedback mechanism can track what a user does during a period of suggestion for certain applications and thereafter modify the utility of applications based on what applications a user selects during the period of suggestion.
Abstract:
Systems and methods for proactively assisting users with accurately locating a parked vehicle are disclosed herein. An example method includes: automatically, and without instructions from a user: determining that a user of the electronic device is in a vehicle that has come to rest at a geographic location. Upon determining that the user has left the vehicle at the geographic location, the method includes automatically, and without instructions from a user: determining whether positioning information, retrieved from the location sensor to identify the geographic location, satisfies accuracy criteria. Upon determining that the positioning information does not satisfy the accuracy criteria, the method includes: providing a prompt to the user to input information about the geographic location. In response to providing the prompt, the method includes receiving information from the user about the geographic location and storing the information as vehicle location information.
Abstract:
In some implementations, a mobile device can be configured to monitor environmental, system and user events associated with the mobile device and/or a peer device. The occurrence of one or more events can trigger adjustments to system settings. 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 communicating with a peer device, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device and/or a peer device to ensure a high quality user experience.
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:
The subject matter of the disclosure relates to low temperature power throttling at a mobile device to reduce the likelihood of an unexpected power down event in cold weather environments. A mobile device employing a power management solution may be configured to determine that a monitored temperature at the mobile device (at the battery of the mobile device) is below a first threshold level, and whether a hardware component (such as a camera) is active or inactive. Then, based on these determinations, the mobile device can select a throttle setting from a first set of throttle settings when the hardware component is active, and a second set of throttle settings when the hardware component is inactive. Subsequently the mobile device can throttle power consumption for one or more components of the mobile device according to the selected throttle setting.
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:
The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.
Abstract:
The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.
Abstract:
Embodiments described herein provide for a non-transitory machine-readable medium storing instructions to cause one or more processors to perform operations comprising receiving a machine learning model from a server at a client device, training the machine learning model using local data at the client device, generating an update for the machine learning model, the update including a weight vector that represents a difference between the received machine learning model and the trained machine learning model, privatizing the update for the machine learning model, and transmitting the privatized update for the machine learning model to the server.
Abstract:
Systems and methods are disclosed for advising a user when an energy storage device in a computing system needs charging. State of charge data of the energy storage device can be measured and stored at regular intervals. The historic state of charge data can be queried over a plurality of intervals and a state of charge curve generated that is representative of a user's charging habits over time. The state of charge curve can be used to generate a rate of charge histogram and an acceleration of charge histogram. These can be used to predict when a user will charge next, and whether the energy storage device will have an amount of energy below a predetermined threshold amount before the next predicted charging time. A first device can determine when a second device typically charges and whether the energy storage device in the second device will have an amount of energy below the predetermined threshold amount before the next predicted charge time for the second device. The first device can generate an advice to charge notification to the user on either, or both, devices.