Abstract:
Methods, systems and computer program products for user settlement detection are disclosed. A mobile device configured to perform an action immediately upon entering or exiting a geofenced environment can delay performing the action until a user of the mobile device has settled into the environment. The mobile device can detect a settled user state by observing the environment of the mobile device, including measuring one or more environment variables using one or more sensors of the mobile device. The mobile device can detect a settled user state even when the mobile device is in motion. The mobile device can perform the action upon detecting a settled user state.
Abstract:
Systems, methods, and program products for providing services to a user by a mobile device based on the user's daily routine of movement. The mobile device determines whether a location cluster indicates a significant location for the user based on one or more hints that indicate an interest of the user in locations in the cluster. The mobile device can perform adaptive clustering to determine a size of area of the significant location based on how multiple locations converge in the location cluster. The mobile device can provide location-based services for calendar items, including predicting a time of arrival at an estimated location of a calendar item. The mobile device can provide various services related to a location of the mobile device or a significant location of the user through an application programming interface (API).
Abstract:
Crowds of people within an environment can be modeled in real time. A multitude of mobile devices located within an environment can periodically transmit their geographical locations over networks to a remote server. The remote server can use these geographical locations to generate a current real-time model of a crowd of people who possess the mobile devices that transmitted the geographical locations. The remote server can transmit the model over networks back to the mobile devices. The mobile devices can use the received model to present useful information to the users of those mobile devices.
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:
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, systems, and computer program products for determining transit routes through crowd-sourcing, for determining an estimated time of arrival (ETA) of a vehicle of the transit route at a given location, and for providing predictive reminders to a user for catching a vehicle of the transit route. A server receives signal source information about wireless signal sources detected by user devices, including information about a first wireless signal source detected by some devices. The server determines that the first wireless signal source is moving. The server determines that the first wireless signal source is associated with a public transit route upon determining that the signal source information satisfies one or more selection criteria. The server stores information associating the first wireless signal source with the public transit route as transit movement data corresponding to the public transit route.
Abstract:
Methods, program products, and systems of using a mobile WAP for location and context purposes are disclosed. In general, in one aspect, a server can estimate an effective location 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. In some implementations, the server can identify a mobile wireless access gateway based on a distance comparison. Data indicating the mobility of a wireless access gateway can be used by a mobile device to initiate one or more actions, including managing power of the mobile device, modifying entrance and exit conditions of virtual fences and determining a context of the mobile device.
Abstract:
Methods, program products, and systems for estimating a location of a mobile device in a venue are provided. The venue can have pathways represented by a path network that includes segments connected by junctions. Estimating the location can include determining a first set of candidate locations for the mobile device, and mapping some of the candidate locations to updated candidate locations that are on or closer to one or more segments of the path network based on distances between the candidate locations and respective segments, resulting in a second set of candidate locations for the mobile device. The location of the mobile device can be derived from the second set of candidate locations.
Abstract:
Techniques for modeling significant locations are described. A significant location can be a location that is significant to a user of a mobile device for a variety of reasons. The mobile device can determine that a place or region is a significant location upon determining that, with sufficient certainty, the mobile device has stayed at the place or region for a sufficient amount of time. The mobile device can construct a state model that is an abstraction of one or more significant locations. The state model can include states representing the significant locations, and transitions representing movement of the mobile device between the locations. The mobile device can use the state model to provide predictive user assistance.
Abstract:
An automated environment can monitor its resource consumption at the environment level and detect anomalies. Resource consumption can be monitored using a sparse set of sensors that provide information about the total resource consumption of the automated environment. The sensor data can be analyzed together with information about a behavioral routine of users in the automated environment to define a baseline resource consumption pattern. Once a baseline resource consumption pattern is established, anomalies in resource consumption can be detected and reported to users.