Abstract:
Surveying techniques for generating location fingerprint data are described. A mobile device can survey a venue by measuring, at multiple locations at the venue, signals from one or more signal sources. At each location, the mobile device can take multiple measurements of signals. The mobile device can take each measurement at a distinct orientation. The measurements can be used to determine expected measurements of the signals at the venue. Differences between the multiple measurements of signals can be used to determine a variance of the expected measurements. The expected measurements and variance can be designated as location fingerprint data for the venue. The location fingerprint data can be used by mobile devices for determining a location at the venue.
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:
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 range free proximity determination are described. A mobile device can determine an entry into or exit from a proximity fence upon determining that the mobile device is sufficiently close to a signal source. The proximity fence can be a virtual fence defined by the signal source and associated with a service. The mobile device can detect signals from multiple signal sources. The mobile device can determine that, among the signal sources, one or more signal sources are located closest to the mobile device based on a ranking of the signal sources using signal strength. The mobile device can determine a probability indicating a confident level of the ranking. The mobile device can determine that the mobile device entered or exited a proximity fence associated with a highest ranked signal source satisfying a confidence threshold.
Abstract:
A mobile device can be in multiple states of location determination. In each state, the mobile device can use a distinct subsystem to determine a location. A state machine of the mobile device can manage the states, including determining which state the mobile device is in and whether a transition between the states has occurred. A transition can be triggered by a sensor of the mobile device and confirmed by another sensor of the mobile device. When the state machine detects a transition, the mobile device can switch location determination from one subsystem to another subsystem, and change a map user interface to one that is best suited for the new subsystem.
Abstract:
Methods, program products, and systems for using a location fingerprint database to determine a location of a mobile device are described. A mobile device can use a location fingerprint database to determine the location where GPS signals are unavailable. A server can generate location fingerprint data for the database. The server can generate the location fingerprint data using crowd sourcing, using known locations of signal sources, or both. The server can receive, from a sampling device, measurements of environment variables, e.g., signals from a signal source at one or more sampling points. The server can extrapolate, from the received measurements, estimated measurements at one or more locations in a venue. The server can store the extrapolated measurements as location fingerprint data. The server can send the location fingerprint data to a mobile device for determining a location of the mobile device when the mobile device is at the venue.
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:
Techniques of delivering location data are described. A location server can receive, from a mobile device, a request for location data for determining a location of the mobile device at a venue. The request can include an estimated location of the mobile device. The location server can provide to the mobile device coarse location data for each venue that is located within a threshold distance to the estimated location of the mobile device. The coarse location data can include a list of coarse tiles at each venue, and parameters of a probability distribution function for determining in which tile of the venue the mobile device is located based on signals detected by the mobile device. The location server can the provide location fingerprint data associated with the tile and neighboring tiles to the mobile device. The mobile can use the location fingerprint data to determine a more detailed location.
Abstract:
A server can receive, from a mobile device, a reference location and one or more measurements of signal from signal sources. Each signal source is associated with a signal source location in a location database. The server can use the measurements and the signal source locations to validate the reference location. The server can use the validated reference location to validate the signal source locations, including detecting moved signal sources.
Abstract:
A location of a mobile device in a venue can be estimated by using a state space estimator to determine candidate locations of the mobile device at a first time point based on previous candidate positions conditioned upon an observation of one or more environmental variables. A second observation is received at a second time point, and the state space estimator performs a propagation step to determine the candidate locations at the second time point based on the candidate locations at the first time point and the second observation. The propagation step includes a plurality of sub-propagation steps in which a time length between the sub-propagation steps is a fraction of the time length between the first and second time points, and at each sub-propagation step each candidate location is propagated according to a stochastic process. The location of the mobile device at the second time point is determined based on the candidate locations at the second time point.