Abstract:
Embodiments adjust device error radiuses associated with inferred device positions produced by positioning systems. Inferred beacon positions and associated beacon radiuses are accessed for beacons in a beacon fingerprint from an observing computing device. The beacon radiuses are associated with a pre-defined confidence level (e.g., an in-circle percentage). A Kalman filter is applied to at least one of the beacons using the inferred beacon positions and the beacon radiuses associated therewith to infer a device position for the computing device and to compute a device error radius for the inferred device position. The computed device error radius is adjusted as a function of the quantity of beacons input to the Kalman filter to achieve the pre-defined confidence level.
Abstract:
Embodiments enhance the functionality of a vehicle, a user device, or both by the selection and sharing of data. Upon detection of each other, the vehicle device and the user device obtain and share data. The data may be associated with the user, the user computing device, and/or the vehicle and may be stored in cloud-based services. Functionality of the vehicle and/or user device is customized to the user based on the shared data. For example, the user device may provide assisted global positioning system (GPS) data to the vehicle to reduce a time-to-fix (TTF) when determining a location of the vehicle. In other examples, settings of the vehicle are personalized to the user, and location-relevant content is downloaded to the user device.
Abstract:
An RF fingerprinting methodology is generalized to include non-RF related factors. For each fingerprinted tile, there is an associated distance function between two fingerprints (the training fingerprint and the test fingerprint) from within that tile which may be a linear or non-linear combination of the deltas between multiple factors of the two fingerprints. The distance function for each tile is derived from a training dataset corresponding to that specific tile, and optimized to minimize the total difference between real distances and predicted distances. Upon receipt of an inference request, a result is derived from a combination of the fingerprints from the training dataset having the least distance per application of the distance function. Likely error for the tile is also determined to ascertain whether to rely on other location methods.
Abstract:
Embodiments provide a position service experimentation system to enable comparison of modeling and inference methods as well as characterization of input datasets for correspondence to output analytics. Crowd-sourced positioned observations are divided into a training dataset and a test dataset. A beacons model is generated based on the training dataset, while device position estimations are calculated for the test dataset based on the beacons model. The device position estimations are compared to the known position of the computing devices generating the positioned observations to produce accuracy values. The accuracy values are assigned to particular geographic areas based on the position of the observing computing device and aggregated to enable a systematic analysis of the accuracy values based on geographic area and/or positioned observations characteristics.
Abstract:
Storing and retrieving beacon reference data in a truncated cuckoo hash table. Checksums of beacon identifiers associated with beacons are used to retrieve beacon reference data describing locations of the beacons in a hash table. The data is stored in one or more hash tables by cuckoo hashing to eliminate aliasing. The hash tables are provided to devices such as mobile devices. The devices retrieve the beacon reference data from the tables based using beacon identifiers of observed beacons. Location information for the devices is inferred using the retrieved beacon reference data. The cuckoo hash tables consume less memory storage space and obfuscate the beacon reference data.
Abstract:
Embodiments for identifying event beacons are provided. Position observations for a beacon are grouped into a plurality of clusters based at least on spatial distance. A location of each cluster is compared to event locations corresponding to events. Based on the comparison, the beacon is associated with the event, and the location of the beacon is set to the location of the event. In some embodiments, location requests are analyzed to identify event beacons, and the event information for the event beacons is used to identify event locations in response to the location requests.
Abstract:
Dynamically evaluating candidate connections as alternatives to an active connection between a first computing device and a second computing device. The first computing device transitions to one of the candidate connections to replace the active connection based on the evaluation. The evaluation and transition occurs based on time intervals, events, or conditions. Maintaining the candidate connections enables mobile devices, for example, to be resilient to and tolerant of topology changes affecting the active connection.
Abstract:
Selecting devices from which to receive data for adjusting the performance of a positioning system. The positioning system infers the location of the devices based on beacons observed by the devices. The performance of the positioning system is compared to performance targets. One or more of the devices are selected based on the comparison. Data collection from the devices is adjusted to affect performance of the positioning system (e.g., improved or reduced). For example, if the positioning system predicts positions poorly for a particular area, data collection from selected devices within the particular area may be increased.
Abstract:
A middleware system is provided that is situated between the user applications and the various content databases that are to be searched in order to simplify the creation of user applications for mobile devices that use location-based services that employ ontology-based search systems. The middleware system exposes one or more services to the user application. For example, a service exposes a service that allows the user to annotate and/or tag known semantic locations. As another example, a service provides a list of suggested semantic POIs to user applications in response to user queries. The suggested semantic POIs are selected based on a user's location and possibly context-dependent information. The suggested semantic POIs also may be based on user-dependent information obtained from a user-profile or the like and the suggested semantic locations that are provided to the user applications may be ranked and presented in an order beginning with those semantic locations that may be of greatest interest.
Abstract:
Defining subscriptions to location information for a computing device (e.g., a mobile computing device). Application programs, services, and/or peer devices define the subscriptions based on constraints associated with requests for the location information. A location request scheduler coordinates the subscriptions temporally and spatially to reduce the quantity of the requests from the computing device. In some embodiments, the subscriptions are automatically defined based on an observed mobility pattern of the computing device.