Abstract:
Measurements can be obtained from sensors to determine a state of a device. The state can be used to determine whether to provide an alert. For example, after a first alert is provided, it can be determined that the device is not accessible to the user based on the determined state, and a second alert can be suppressed at a specified time after providing the first alert. The sensor measurements can be monitored after suppressing the second alert, and a state engine can detect a change in a state based on subsequent sensor measurements. If the state change indicates that the device is accessible to the user the second alert can be provided to the user. Alerts can be dismissed based on a change in state. A first device can coordinate alerts sent to or to be provided by a second device by suppressing or dismissing such alerts.
Abstract:
Applications may be tagged with location data when they are used. Mobile device may anonymously submit application usage data. Aggregated application usage data from many mobile devices may be analyzed to determine applications that are particularly relevant to a given location (i.e., exhibiting a high degree of localization). Analysis may include determining the application usage intensity, whether hotspots exist or not at a given location, the spatial entropy of a particular application, the device populations in a particular area, etc. Based on the localized application analysis, applications may be ranked according to local relevance, and, based on this ranking, application recommendations may be provided to a user.
Abstract:
Methods, program products, and systems for baseband location monitoring and related functions are disclosed. A mobile device can monitor its own current location using its baseband subsystem and decide whether to selectively activate its application subsystem based on whether particular conditions are satisfied by the current location. The mobile device can also correlate location and cellular signal information using its baseband subsystem and provide the correlated location and cellular signal information to a server. The server can receive the correlated location and cellular signal information from the baseband subsystems of a large number of widely distributed mobile devices and generate respective profiles of cellular network base stations that transmitted the cellular signals to the mobile devices. The profiles of the cellular network base stations can be used by the server in fulfilling subsequent positioning requests from mobile devices that do not currently have the baseband location monitoring enabled.
Abstract:
Systems, methods, and computer program products for determining the location and direction of travel of a mobile device using map vector constraints is disclosed.
Abstract:
Methods, systems, and computer program products for a mobile device determining its location based on a location of a companion device are described. A mobile device can receive a request for determining a location of the mobile device from an application. The request can include an accuracy specification providing a lower limit on accuracy of the determined location. The mobile device can determine that the mobile device is incapable of achieving that accuracy. The mobile device can then submit a location request to a companion device that has paired with the mobile device. The companion device, upon receiving the location request, can determine a location of the companion device and provide the location of the companion device to the mobile device. The mobile device can then designate the location of the companion device as the location of the mobile device, and provide the location to the application.
Abstract:
Apps may be tagged with location data when they are used. Mobile device may anonymously submit app usage data. Aggregated app usage data from many mobile devices may be analyzed to determine apps that are particularly relevant to a given location (i.e., exhibiting a high degree of localization). Analysis may include determining the app usage intensity, whether hotspots exist or not at a given location, the spatial entropy of a particular app, the device populations in a particular area, etc. Based on the localized app analysis, apps may be ranked according to local relevance, and, based on this ranking, app recommendations may be provided to a user.
Abstract:
Methods, program products, and systems of location estimation using a probability density function are disclosed. In general, in one aspect, a server can estimate an effective altitude of a wireless access gateway using harvested data. The server can harvest location data from multiple mobile devices. The harvested data can include a location of each mobile device and an identifier of a wireless access gateway that is located within a communication range of the mobile device. The server can calculate an effective altitude of the wireless access gateway using a probability density function of the harvested data. The probability density function can be a sufficient statistic of the received set of location coordinates for calculating an effective altitude of the wireless access gateway. The server can send the effective altitude of the wireless access gateway to other mobile devices for estimating altitudes of the other mobile devices.
Abstract:
An application can specify a location service authorization type to be enforced by a mobile device. After the user authorizes the location service through an authorization dialog, the application can receive location service according to the authorization type. A first authorization type allows the application to receive continuous location updates and location events from a location service on the mobile device only when the application is in use. A second authorization type allows the application to always receive continuous location updates and location events when the application is running in a foreground or background. The text of the authorization dialog can be customized by the application to provide more detail on how the location data will be used by the application.
Abstract:
Methods, program products, and systems for task management based on travel distance are disclosed. In general, in one aspect, a method executed on a mobile device can include receiving a request to perform a task in a first subsystem (e.g., an application subsystem) of the mobile device. The request can indicate that the task is to be performed when the mobile device travels at least a threshold distance. The mobile device can determine a duration of silence. The mobile device can configure a second subsystem (e.g., a baseband operating system) of the mobile device to send a notification to the first subsystem notifying that the mobile device has traveled after at least the duration of silence. The first subsystem can receive the notification and determine that the threshold distance has been satisfied based on the received notification. The first subsystem can perform the task upon the determining.
Abstract:
Methods, program products, and systems for proximity-based notifications are described. A proximity-based notification system can receive a request to be notified when a contact's mobile device is in proximity to a user's mobile device, obtain permission to receive information associated with the contact, receive the information associated with the contact, detect that the contact's mobile device is in proximity to the user's mobile device based on the information associated with the contact, and notify the user that the contact's mobile device is in proximity to the user's mobile device.