Abstract:
An event can be detected by an input device. The event may be determined to be a triggering event by comparing the event to a group of triggering events. A first prediction model corresponding to the event is then selected. Contextual information about the device specifying one or more properties of the computing device in a first context is then received, and a set of one or more applications is identified. The set of one or more applications may have at least a threshold probability of being accessed by the user when the event occurs in the first context. Thereafter, a user interface is provided to a user for interacting with the set of one or more applications.
Abstract:
Methods and computer products can provide personalized content based on historical interaction with a mobile device. A computing device can receive information about a user interaction with an application running on the mobile device at a first time and location. A type of the application can be identified by parsing a description of the application (e.g., using a natural language processing algorithm). An affinity model can be generated that associates the type of the application with the first time and/or location. At a second time and location, it can be determined that the second time corresponds to the first time and/or that the second location corresponds to the first location. Using the affinity model, the second time and/or location can be associated with the type of the application, and the mobile device may then display content related to the type of the application.
Abstract:
Techniques of category-based fence are described. A category-based fence can correspond to a group of signal sources instead of a point location fixed to latitude and longitude coordinates. The group of signal sources can represent a category of entities, e.g., a particular business chain. The signal sources can be distributed to multiple discrete locations. A category-based fence associated with the group, accordingly, can correspond to multiple locations instead of a single point location and a radius. Each signal source in the group can be associated with a category identifier unique to the group and uniform among signal sources in the group. The category identifier can be programmed into each signal source. A mobile device can enter the category-based fence by entering any of the discrete locations when the mobile device detects the signal identifier. The mobile device can then execute an application program associated with the category-based fence.
Abstract:
Systems, methods and computer-readable mediums are disclosed for rapid reconfiguration of device location systems. In some implementations, a method comprises: determining, by a server computer, a fault in global location data, the server computer configured to periodically communicate with client devices over a network, the global location data being applicable to multiple client devices and independent of any particular location of any particular client device; determining, by the server computer, a potential impact of the faulty global location data on location systems implemented on the client devices; generating, by the server computer, a reconfiguration file including reconfiguration data for reconfiguring the location systems on the client devices to adapt to the faulty global location data; and automatically sending, by the server computer, the reconfiguration file to the client devices.
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:
Implementations are disclosed for obtaining a range state of a device operating in an indoor environment with radio frequency (RF) signal sources. In some implementations, windowed signal measurements obtained from RF signals transmitted by an RF signal source are classified into range classes that are defined by threshold values obtained from a RF signal propagation model. A range class observation is obtained by selecting a range class among a plurality of range classes based on a percentage of a total number of windowed signal measurements that are associated with the range class. The range class observation is provided as input to a state estimator that estimates a range class that accounts for process and/or measurement noise. The output of the state estimator is provided as input to a state machine.
Abstract:
A proximity fence can be a location-agnostic fence defined by signal sources having no geographic location information. The proximity fence can correspond to a group of signal sources instead of a point location fixed to latitude and longitude coordinates. A signal source can be a radio frequency (RF) transmitter broadcasting a beacon signal. The beacon signal can include a payload that includes an identifier indicating a category to which the signal source belongs, and one or more labels indicating one or more subcategories to which the signal source belongs. The proximity fence defined by the group of signal sources can trigger different functions of application programs associated with the proximity fence on a mobile device, when the mobile device moves within the proximity fence and enters and exits different parts of the proximity fence corresponding to the different subcategories.
Abstract:
Techniques of category-based fence are described. A category-based fence can correspond to a group of signal sources instead of a point location fixed to latitude and longitude coordinates. The group of signal sources can represent a category of entities, e.g., a particular business chain. The signal sources can be distributed to multiple discrete locations. A category-based fence associated with the group, accordingly, can correspond to multiple locations instead of a single point location and a radius. Each signal source in the group can be associated with a category identifier unique to the group and uniform among signal sources in the group. The category identifier can be programmed into each signal source. A mobile device can enter the category-based fence by entering any of the discrete locations when the mobile device detects the signal identifier. The mobile device can then execute an application program associated with the category-based fence.
Abstract:
Automated behaviors in an environment can be implemented based on aggregation of individual user routines. For example, mobile devices used by users in the environment can provide information about the users' behavior patterns to a coordinator device that can be located in the environment. The coordinator device can analyze the information to detect an aggregate pattern that involves multiple mobile devices and/or multiple users. Based on a detected aggregate patterns, the coordinator can identify behaviors to automate.
Abstract:
An automated environment can include an accessory device that operates according to an automation rule, to take a prescribed action when a triggering condition occurs. A controller device for the automated environment can determine a user's regular routine and can detect when the user is deviating from the regular routine. The controller device can communicate with accessory devices in the automated environment to modify their behavior relative to the automation rules.