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:
Methods, program products, and systems for reducing a location search space are described. A mobile device, when arriving at a venue, can determine a location of the mobile device using signals from one or more signal sources associated with the venue. The mobile device can use a coarse location estimator to estimate a coarse location of the mobile device at the venue. The mobile device can request, from a server, detailed location data associated with the coarse location. The detailed location data can include location fingerprint data associated with a portion of the venue that includes the coarse location. The mobile device can determine an estimated location that has finer granularity than the coarse location using the location fingerprint data.
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:
A mobile device can provide predictive user assistance based on various sensor readings, independently of or in addition to a location of the mobile device. The mobile device can determine a context of an event. The mobile device can store the context and a label of the event on a storage device. The label can be provided automatically by the mobile device or by the external system without user input. At a later time, the mobile device can match new sensor readings with the stored context. If a match is found, the mobile device can predict that the user is about to perform the action or recognize that the user has performed the action again. The mobile device can perform various operations, including, for example, providing user assistance, based on the prediction or recognition.
Abstract:
Behavior information can be aggregated across multiple automated environments (e.g., across homes in a neighborhood). The automated environments can provide information about detected environment-level behavior patterns to a server. The server can aggregate the patterns across environments in a defined neighborhood and can provide neighborhood-level information back to the participating automated environments. The neighborhood-level information can be used to drive decisions and behavioral changes in individual automated environments.
Abstract:
A device in an automated environment can detect patterns in the user's interactions with accessories in the automated environment and can provide feedback to the user based on the patterns. Examples include: suggesting automation of particular actions based on the patterns; suggesting actions that conform to the pattern when the user performs part of the pattern; or suggesting changes to a pattern to conform to a preferred pattern.
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:
Methods, program products, and systems for reducing a location search space are described. A mobile device, when arriving at a venue, can determine a location of the mobile device using signals from one or more signal sources associated with the venue. The mobile device can use a coarse location estimator to estimate a coarse location of the mobile device at the venue. The mobile device can request, from a server, detailed location data associated with the coarse location. The detailed location data can include location fingerprint data associated with a portion of the venue that includes the coarse location. The mobile device can determine an estimated location that has finer granularity than the coarse location using the location fingerprint data.
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 program products for providing location-based services triggered by a personal geofence are disclosed. A mobile device can determine that a venue located at a geographic location and frequently visited by the mobile device in the past is associated with a particular item, service, or activity. Upon receiving a query about the item, service, or activity, the mobile device can create a temporary geofence around the venue. Using past behavior patterns and a current location, the mobile device can determine a condition to trigger execution of an application program or display of certain content. The condition can be personalized to match a life style of a user of the mobile device. Accordingly, trigging the execution of the application program or the display of the content may be based on factors other than a distance between the mobile device and a point location.