Location source control
Abstract
Techniques for location source control for paired devices are described. Location source control selects a location source for a mobile device. The mobile device can receive, from an application program, a request for determining a location of the mobile device. The mobile device can determine a first location estimate using a location subsystem of the mobile device. The mobile device can determine whether to provide the first location estimate as input to the application program, or to provide a second location estimate as input to the application program. The second location estimate can be an estimated location of the companion device and determined by the companion device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors of a wearable device to perform operations comprising:
receiving, by a wearable device, a location request from an application program executing on the wearable device, wherein the location request is a request for a location of the wearable device; and providing, by the wearable device, a location estimate to the application program in response to the location request, wherein the location estimate includes a first location estimate determined by the wearable device or a second location estimate determined by a companion device associated with the wearable device, wherein selecting the first location estimate or the second location estimate comprises:
selecting the first location estimate upon determining that a comparison of sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device; and
selecting the second location estimate upon determining that a comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is moving in synchronization with the wearable device.
2 . The non-transitory computer-readable medium of claim 1 , wherein determining that the comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device comprises:
determining that the wearable device is moving based on a location context derived from sensor data provided by a sensor of the wearable device; and determining that the companion device is stationary based on the sensor reading of the companion device.
3 . The non-transitory computer-readable medium of claim 2 , wherein selecting the first location estimate or the second location estimate further comprises determining, based on the location context, that motion of the wearable device may interfere with operations of a location subsystem of the wearable device, and selecting the second location estimate in response to the determining.
4 . The non-transitory computer-readable medium of claim 2 , wherein selecting the first location estimate or the second location estimate further comprises selecting the second location estimate upon determining that the location context indicates that a battery level of the wearable device is below a first threshold value and that a sensor reading of the companion device indicates that a battery level of the companion device is above a second threshold value.
5 . The non-transitory computer-readable medium of claim 4 , wherein the wearable device receives the sensor reading of the companion device and the second location estimate from the companion device through a Bluetooth-based connection between the wearable device and the companion device.
6 . The non-transitory computer-readable medium of claim 4 , further comprising: receiving the second location estimate by the wearable device and from the companion device through a location interface of the wearable device, the location interface configured to determine whether the wearable device should provide the first location estimate or the second location estimate to the program by applying a location sourcing rule to the location context, the location sourcing rule specifying conditions for selecting the first location estimate or the second location estimate.
7 . The non-transitory computer-readable medium of claim 6 , wherein the conditions include whether the location context indicates that a user of the wearable device is engaging in one or more types of activity.
8 . The non-transitory computer-readable medium of claim 7 , wherein the conditions include whether the location context satisfies a location accuracy requirement specified by the application program.
9 . A wearable device comprising:
a sensor; one or more processors; and a location controller configured to receive a location request from an application program executing on the wearable device, the location request requesting a location of the wearable device; a location interface configured to obtain a location context derived from sensor data provided by the sensor of the wearable device; and a location source manager configured to:
receive, by a wearable device, a location request from an application program executed by the wearable device, wherein the location request is a request for a location of the wearable device; and
provide, by the wearable device, a location estimate to the application program in response to the location request, wherein the location estimate includes a first location estimate determined by the wearable device or a second location estimate determined by a companion device associated with the wearable device, wherein to select the first location estimate or the second location estimate includes to:
select the first location estimate upon determining that a comparison of sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device; and
select the second location estimate upon determining that a comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is moving in synchronization with the wearable device.
10 . The wearable device of claim 9 , wherein determining that the comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device comprises:
determining that the wearable device is moving based on a location context derived from sensor data provided by a sensor of the wearable device; and determining that the companion device is stationary based on the sensor reading of the companion device.
11 . The wearable device of claim 10 , wherein selecting the first location estimate or the second location estimate further comprises determining, based on the location context, that motion of the wearable device may interfere with operations of a location subsystem of the wearable device, and selecting the second location estimate in response to the determining.
12 . The wearable device of claim 10 , wherein selecting the first location estimate or the second location estimate further comprises selecting the second location estimate upon determining that the location context indicates that a battery level of the wearable device is below a first threshold value and that a sensor reading of the companion device indicates that a battery level of the companion device is above a second threshold value.
13 . The wearable device of claim 12 , wherein the wearable device receives the sensor reading of the companion device and the second location estimate from the companion device through a Bluetooth-based connection between the wearable device and the companion device.
14 . The wearable device of claim 12 , further comprising:
receiving the second location estimate by the wearable device and from the companion device through a location interface of the wearable device, the location interface configured to determine whether the wearable device should provide the first location estimate or the second location estimate to the program by applying a location sourcing rule to the location context, the location sourcing rule specifying conditions for selecting the first location estimate or the second location estimate.
15 . The wearable device of claim 14 , wherein the conditions include whether the location context indicates that a user of the wearable device is engaging in one or more types of activity.
16 . The wearable device of claim 15 , wherein the conditions include whether the location context satisfies a location accuracy requirement specified by the application program.
17 . A method comprising:
receiving, by a wearable device, a location request from an application program executing on the wearable device, wherein the location request is a request for a location of the wearable device; and providing, by the wearable device, a location estimate to the application program in response to the location request, wherein the location estimate includes a first location estimate determined by the wearable device or a second location estimate determined by a companion device associated with the wearable device, wherein selecting the first location estimate or the second location estimate comprises:
selecting the first location estimate upon determining that a comparison of sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device; and
selecting the second location estimate upon determining that a comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is moving in synchronization with the wearable device.
18 . The method of claim 17 , wherein determining that the comparison of the sensor readings of the wearable device and the companion device indicates that the companion device is not moving in synchronization with the wearable device comprises:
determining that the wearable device is moving based on a location context derived from sensor data provided by a sensor of the wearable device; and determining that the companion device is stationary based on the sensor reading of the companion device.
19 . The method of claim 18 , wherein selecting the first location estimate or the second location estimate further comprises determining, based on the location context, that motion of the wearable device may interfere with operations of a location subsystem of the wearable device, and selecting the second location estimate in response to the determining.
20 . The method of claim 18 , wherein selecting the first location estimate or the second location estimate further comprises selecting the second location estimate upon determining that the location context indicates that a battery level of the wearable device is below a first threshold value and that a sensor reading of the companion device indicates that a battery level of the companion device is above a second threshold value.
21 . The method of claim 20 , wherein the wearable device receives the sensor reading of the companion device and the second location estimate from the companion device through a Bluetooth-based connection between the wearable device and the companion device.
22 . The method of claim 20 , further comprising:
receiving the second location estimate by the wearable device and from the companion device through a location interface of the wearable device, the location interface configured to determine whether the wearable device should provide the first location estimate or the second location estimate to the program by applying a location sourcing rule to the location context, the location sourcing rule specifying conditions for selecting the first location estimate or the second location estimate.
23 . The method of claim 22 , wherein the conditions include whether the location context indicates that a user of the wearable device is engaging in one or more types of activity.
24 . The method of claim 23 , wherein the conditions include whether the location context satisfies a location accuracy requirement specified by the application program.Join the waitlist — get patent alerts
Track US2021144786A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.