Power-saving offload location services

By using low-power wireless communication chipset and IEEE 802.11mc fine timing measurement protocol, the problems of inaccurate indoor positioning and high power consumption are solved, and energy-saving and efficient indoor positioning service is achieved.

CN120602895APending Publication Date: 2025-09-05MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511044371.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-11-25
Filing Date
2020-10-28
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

In indoor environments, GNSS technology is not positioned accurately and consumes a lot of processor power and power, and existing location services are difficult to effectively provide reliable indoor location information.

Method used

Using low-power wireless communication chipsets, such as Wi-Fi and Bluetooth chipsets, the implementation of auxiliary location services is achieved by measuring the distance between the device and the wireless communication device, and using the IEEE 802.11mc fine timing measurement protocol for indoor asset tracking and geofencing detection.

Benefits of technology

While saving power consumption, it provides accurate indoor location services, reduces the high-power operation of the main processor, and improves the reliability and accuracy of location services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120602895A_ABST
    Figure CN120602895A_ABST
Patent Text Reader

Abstract

A communication device assists location services by receiving virtual boundary conditions from an operating system. The virtual boundary condition is received by a wireless communication chipset (e.g., a Wi-Fi chipset) of the communication device. The Wi-Fi chipset measures one or more distances between the communication device and one or more wireless communication devices (e.g., Wi-Fi access points) using a wireless communication distance measurement protocol (e.g., Wi-Fi fine timing measurement or FTM), determines that the one or more measured distances have satisfied virtual boundary conditions, and determines that the one or more measured distances have satisfied virtual boundary conditions. And notifying the operating system that the one or more measured distances have satisfied the virtual boundary condition.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with an international application date of October 28, 2020, which entered the Chinese national stage on May 24, 2022, with Chinese national application number 202080081663.4, and invention name “Power-saving offloading location service”. Background Art

[0002] Location services, such as geo-fencing and asset tracking, are challenging when attempted indoors. While Global Navigation Satellite System (GNSS) technology, such as Global Positioning System (GPS) technology, can sometimes connect with communication devices within buildings, the communication signals from GNSS satellites are attenuated and scattered by building infrastructure, such as roofs, walls, and other objects. As a result, the resulting indoor location is often not accurate or reliable enough to be useful. Furthermore, many GNSS chipsets themselves are not accurate enough to be particularly useful at indoor scales (e.g., down to locations within individual small rooms or individual rooms). Furthermore, many location services can involve continuous power-hungry operations performed by the main processor and operating system of a communication device, such as a mobile phone, wearable computing device, or Internet of Things (IoT) device. Such operations can consume unacceptable processing power and battery life. Summary of the Invention

[0003] The described technology provides a communication device that facilitates location services by receiving a virtual boundary condition from an operating system. The virtual boundary condition is received by a wireless communication chipset (e.g., a Wi-Fi chipset) of the communication device. The Wi-Fi chipset measures one or more distances between the communication device and one or more wireless communication devices (e.g., Wi-Fi access points) using a wireless communication distance measurement protocol (e.g., Wi-Fi Fine Timing Measurement or FTM), determines that the one or more measured distances have satisfied the virtual boundary condition, and notifies the operating system that the one or more measured distances have satisfied the virtual boundary condition.

[0004] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0005] Other implementations are also described and illustrated herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 Indoor geo-fencing using an example Wi-Fi assisted indoor location service is shown.

[0007] Figure 2Detection of geofence exits using an example Wi-Fi assisted indoor location service is shown.

[0008] Figure 3 Detection of geofence entry using an example Wi-Fi assisted indoor location service is shown.

[0009] Figure 4 Detection of geo-fence proximity events using an example Wi-Fi assisted indoor location service is shown.

[0010] Figure 5 Detection of geo-proximity events using an example Wi-Fi assisted indoor location service is illustrated.

[0011] Figure 6 An example system for providing an example Wi-Fi assisted indoor location service is shown.

[0012] Figure 7 An example Wi-Fi chipset is shown for an example Wi-Fi assisted indoor location service.

[0013] Figure 8 Example operations of an example Wi-Fi assisted indoor location service are shown.

[0014] Figure 9 An example operating environment and system for performing an example Wi-Fi assisted indoor location service are shown. DETAILED DESCRIPTION

[0015] As discussed, GNSS location services inside buildings are useless, or nearly useless. Furthermore, indoor location services that make heavy use of the mobile device's main processor and operating system can consume unacceptable processor power and battery life over time. Accordingly, the described techniques employ lower-power wireless communication chipsets (e.g., Wi-Fi chipsets, Bluetooth chipsets, and other sensors) to handle a substantial portion of common location services, offloading processing to the mobile device's microprocessor(s) components and operating system to handle only a subset of location service processing. In this way, the lower-power chipset can detect location transitions (e.g., across different geofences, between indoor and outdoor locations) and other location services before executing higher-power operations in the mobile device's operating system. Thus, the described techniques provide effective indoor location services while limiting power consumption (e.g., conserving available battery power). Furthermore, the described techniques can also be used in outdoor locations.

[0016] In addition, Wi-Fi assisted indoor location services are an example of power-saving offload location services using wireless communication devices. Other wireless communication technologies can be used, including Bluetooth technology.

[0017] In one implementation, the described technology utilizes wireless communication signal round trip time (RTT) or ranging measurements, such as those introduced by the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard, to assist in indoor asset tracking and / or geo-fencing (collectively included in "location services") using low-power operation. FTM technology is an example Wi-Fi distance measurement protocol that allows a computing device to measure the distance to a nearby Wi-Fi access point (AP) or other wireless communication device (e.g., a peer electronic communication device such as a mobile phone) using round-trip delay time, although similar technology can be employed in other wireless communication technologies including Bluetooth. Distances between different wireless communication devices, different Bluetooth-enabled devices, and the like can also be measured. Other sensors and wireless communication distance measurement protocols can also be used to assist in such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers).

[0018] An FTM-enabled communication device can find the closest set of FTM-enabled APs by performing a full or partial Wi-Fi scan or by querying a pre-populated database identifying APs and their corresponding reference geographic locations. The reference geographic location can be set on the AP during setup or configuration of the AP. An operating system or application executing on the communication device can use the reference geographic location of the AP to determine a threshold distance and associated geo-fences, APs, and / or geographic locations of interest. The reference geographic location or each AP (or each other wireless communication device) is predetermined because the AP and / or the communication device employing location services can determine the current location of the AP (or each other wireless communication device) by querying the AP, accessing the AP location database, and other methods.

[0019] Figure 1 Indoor geo-fencing using an example Wi-Fi assisted indoor location service is shown. It should be understood that the described techniques can also be used for outdoor locations. View 100 includes the boundaries of a building 102 where a communication device 104 is located. Additionally, within building 102 are three Wi-Fi access points (APs) - AP 106, AP 108, and AP 110. Figure 1 In the present invention, the Wi-Fi chipset and access points of the communication device 104 support the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist with indoor asset tracking and / or geo-fencing (collectively, “location services”) using low-power operation. Other sensors and distance detection protocols may also be used to assist with such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset in the communication device 104 may use the FTM protocol to monitor the distance from the communication device 104 to each access point.

[0020] In the illustrated implementation, a geo-fenced area associated with each AP may be defined by setting a minimum threshold distance and a maximum threshold distance for each AP (see minimum threshold distance 112 and maximum threshold distance 114 for AP 106). Figure 1 As shown in FIG, each AP individually defines a circular geofence. In another implementation, a single threshold distance from an AP can define a circular geofence around the AP.

[0021] By combining the geofences of multiple APs, more precise and / or differently shaped geofences can be defined. For example, the area(s) where the geofences of two APs overlap defines one or more geofence areas (see generally the area 115 shaped like a double-headed arrow where the geofences of AP 106 and AP 108 overlap). If the geofence of AP 110 is added, the combined geofence of the three APs is defined by the overlap of the three geofences, roughly defined as a circular geofence 116.

[0022] When the distance between the communication device 104 and certain identified APs newly meets or no longer meets a virtual boundary condition, the operating system can instruct the Wi-Fi chipset (e.g., via device driver software) to issue a warning to the communication device 104. For example, in various implementations, the Wi-Fi chipset can signal one or more main processors of the communication device 104, which can alert the operating system of the detected event. Other methods of alerting the operating system can also be used.

[0023] By monitoring the distance between the communication device 104 and each AP, the Wi-Fi chipset can detect whether and / or when the communication device 104 crosses one or both of the minimum and maximum threshold distances for each AP. In this way, the communication device 104 can determine whether and / or when it enters or exits the geofence 116 defined by the virtual boundary conditions. When a geofence exit or entry is detected, the Wi-Fi chipset can also issue an alert to the operating system and other applications executed by one or more main microprocessor components in the communication device 104.

[0024] The Wi-Fi chipset can operate at lower power consumption levels than the main processor of the communication device 104. Therefore, in one implementation, an operating system and / or an application executing on the main processor of the communication device 104 communicates one or more virtual boundary conditions to the Wi-Fi chipset, which then transitions the main processor to a lower power state (e.g., to a lower power consumption level, such as a sleep mode or other lower power mode). For example, the virtual boundary conditions may identify three APs (e.g., by MAC address) and minimum and maximum threshold distances for each AP, thereby defining the geofence 116.

[0025] The virtual boundary condition may also specify a direction of movement relative to the geofence 116 (e.g., entering or exiting the geofence 116). To enter the geofence, the distance between the communication device 104 and the AP must decrease below a maximum threshold distance or increase above a minimum threshold distance. To exit the geofence, the distance between the communication device 104 and the AP must increase above a maximum threshold distance or decrease below a minimum threshold distance.

[0026] For example, in the illustrated implementation, the virtual boundary conditions define a geofence 116 relative to three APs 106, 108, and 110, and consider the case when the communication device 104 is not within the geofence 116 (i.e., any distance between the communication device 104 and one of the APs does not fall within the minimum and maximum threshold distances associated with the AP). If the communication device 104 is not within the geofence 116, an entry event occurs when one or more distances between the communication device 104 and each AP fall within the minimum and maximum threshold distances associated with each AP, respectively. Conversely, if the communication device 104 is within the geofence 116, an exit event occurs when any distance between the communication device 104 and one of the APs no longer falls within the minimum and maximum threshold distances associated with the AP.

[0027] The virtual boundary condition may also specify a confidence condition—if the distance condition, exit / entry / approach condition, and / or location condition are met in a manner that satisfies the confidence condition, then the warning is triggered. Otherwise, it may be postponed or withheld. For example, if the distance condition, exit / entry / approach condition, and / or location condition are met within a threshold time period, a threshold number of monitoring cycles, or according to some other confidence condition (e.g., possibly even involving other sensors, such as motion sensors), then the Wi-Fi chipset may issue a warning to the operating system.

[0028] While the one or more main microprocessor components are in a lower power state, the Wi-Fi chipset monitors the distance to the three APs. If the Wi-Fi chipset detects that a virtual boundary condition is met, the Wi-Fi chipset can alert the operating system, thereby transitioning the one or more main microprocessor components to a higher power mode in response to the change in the location of the communication device 104 relative to the geofence 116.

[0029] Figure 2Detection of geofence exits using an example Wi-Fi assisted indoor location service is shown. It should be understood that the described techniques can also be used for outdoor locations. View 200 includes the perimeter of a building 202, within which are located communication devices 204 (shown in two different locations as communication device 204a and communication device 204b). Additionally, within building 202 are three Wi-Fi access points (APs)—AP 206, AP 208, and AP 210. Figure 2 In the embodiment of the present invention, the Wi-Fi chipset and access point of the communication device 204 support the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively, "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset in the communication device 204 can use the FTM protocol to measure the distance from the communication device 204 to each access point.

[0030] When the distance between the communication device 204 and certain identified APs no longer satisfies a virtual boundary condition, the operating system can instruct the Wi-Fi chipset (e.g., via device driver software) to issue a warning to the device. The Wi-Fi chipset monitors the distance between the communication device 204 and each AP and evaluates these distances against one or more virtual boundary conditions provided by the operating system. In this case, the Wi-Fi chipset detects that during the transition from communication device 204a to 204b, the distance of the communication device 204b exceeds the maximum threshold distance to the AP 210, thereby indicating that the communication device 204b has exited the geofence 216. Therefore, the Wi-Fi chipset alerts the operating system of the exit event, which (typically) will wake up one or more main microprocessor components to a higher power level. The Wi-Fi chipset may also transmit information related to the exit event, such as the distance between the communication device 204b and the AP 210. In response to such a warning, other data may also be passed to the operating system.

[0031] Figure 3 Detection of geofence entry using an example Wi-Fi assisted indoor location service is shown. It should be understood that the described techniques can also be used in outdoor locations. View 300 includes the perimeter of a building 302, within which are located communication devices 304 (shown in two different locations as communication device 304a and communication device 304b). Additionally, within building 302 are three Wi-Fi access points (APs) - AP 306, AP 308, and AP 310. Figure 3In the embodiment of the present invention, the Wi-Fi chipset and access point of the communication device 304 support the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively, "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset in the communication device 304 can use the FTM protocol to measure the distance from the communication device 304 to each access point.

[0032] When the distance between communication device 304 and certain identified APs newly meets a virtual boundary condition, the operating system can instruct the Wi-Fi chipset (e.g., via device driver software) to issue an alert to the device. The Wi-Fi chipset monitors the distance between communication device 304 and each AP and evaluates these distances against one or more virtual boundary conditions provided by the operating system. In this case, the Wi-Fi chipset detects that during the transition from communication device 304a to 304b, the distance of communication device 304b decreased below the maximum threshold distance from AP 310, remained above the minimum threshold distance from AP 310, and remained within the minimum and maximum threshold distances of APs 306 and 308, indicating that communication device 304b has entered geofence 316. Accordingly, the Wi-Fi chipset alerts the operating system of the entry event, which (typically) will wake up one or more main microprocessor components to a higher power level. The Wi-Fi chipset may also transmit information related to the entry event, such as the distance between communication device 304b and the AP. Other data may also be passed to the operating system in response to such an alert.

[0033] Figure 4Detection of geofence proximity events using an example Wi-Fi-assisted indoor location service is illustrated. It should be understood that the described techniques can also be used in outdoor locations. A "geofence approach" event represents an event in which a geofence is defined by multiple APs and the communications device receives signals from a suitable subset of the designated APs (but not all APs). For example, the AP signal may be too weak, susceptible to interference, or simply off because the AP is not operating properly. If the AP signal is sufficiently received by the communications device, the AP is considered "visible." If the AP signal is not sufficiently received by the communications device, the AP is considered "invisible." Thus, the communications device can detect whether it has met the threshold distance for visible APs but not the threshold distance for invisible AP(s). In this case, the communications device may have entered the defined geofence but cannot be determined because it cannot determine the distance to the invisible AP(s). If the operating system wishes to receive a warning when this situation is detected, it can instruct the Wi-Fi chipset to monitor the distance according to the virtual boundary conditions associated with the multiple APs, but issue a warning to the operating system when the communications device 404 newly meets the threshold distance for even a suitable subset of APs.

[0034] Go to Figure 4 , view 400 includes communication device 404 (shown in two different locations as communication device 404a and communication device 404b). Additionally, within view 400 there are three Wi-Fi access points (APs)—AP 406, AP 408, and AP 410. Figure 4 In the embodiment of the present invention, the Wi-Fi chipset and access point of the communication device 404 support the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively, "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset in the communication device 404 can use the FTM protocol to measure the distance from the communication device 404 to each access point.

[0035] The operating system instructs the Wi-Fi chipset (e.g., through device driver software) to issue an alert when the Wi-Fi chipset detects a "geofence proximity" event for a virtual boundary condition for a set of APs including AP 406, AP 408, and AP 410. In contrast to an entry event that occurs when the distance between the communication device 404 and the specified APs satisfies all specified threshold distances for all specified APs for the virtual boundary condition, a geofence proximity event occurs when the distances of at least a subset of the identified APs newly satisfy the virtual boundary condition. Figure 4In FIG. 4 , when the communication device moves from 404a to 404b, only the distance between the communication device 404b and the designated AP 408 satisfies the designated threshold distance from the designated AP to the virtual boundary condition. Although the entry event for the virtual boundary condition is not satisfied, the transition satisfies the geofence proximity event for the virtual boundary condition. Therefore, if the operating system instructs the Wi-Fi chipset to issue an alert upon detecting a geofence proximity event, the Wi-Fi chipset of the communication device 404B alerts the operating system of the geofence proximity event associated with the virtual boundary condition.

[0036] Figure 5 Detection of geo-proximity events using an example Wi-Fi assisted indoor location service is shown. It should be understood that the described techniques can also be used for outdoor locations. A "geo-proximity" event represents an event in which the operating system specifies a predefined threshold distance d and a geographic location of interest, and instructs the Wi-Fi chipset to issue an alert to the operating system when any AP within the predefined threshold distance d from the specified geographic location becomes visible. Geo-proximity events are helpful in situations where none of the APs "known" to the operating system are visible (e.g., the operating system knows that some of the APs within proximity are not yet visible to the Wi-Fi chipset, and the operating system is unaware of any APs within proximity), and therefore the operating system wants to receive an alert when the communication device approaches the specified geographic location (i.e., within the predefined threshold distance d from the specified geographic location). For example, in response to such an alert, the operating system can begin querying nearby APs to determine the identities and locations of nearby APs, which may have been previously unknown or unspecified.

[0037] In this way, the Wi-Fi chipset can detect the AP, determine the AP location, and determine whether the AP is within a predefined threshold distance d from a specified geographic location. If so, the Wi-Fi chipset alerts the operator of the occurrence of a "geo-proximity" event associated with a virtual boundary location specified by the operating system.

[0038] Go to Figure 5 , view 500 includes communication device 504 (shown in two different locations as communication device 504a and communication device 504b). Additionally, within view 500 there is a Wi-Fi access point (AP) - AP 508. Figure 5In the embodiment of the present invention, the Wi-Fi chipset of the communication device 504 and the AP 508 support the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively, "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset in the communication device 504 can use the FTM protocol to measure the distance from the communication device 504 to the AP 508.

[0039] The operating system instructs the Wi-Fi chipset (e.g., through device driver software) to issue an alert when the Wi-Fi chipset detects a "geo-fence proximity" event with respect to a virtual boundary condition of a specified geographic location (e.g., longitude and latitude). A geo-fence proximity event occurs when the communication device moves close enough to any AP so that the AP is visible to the communication device, and the AP is within a predefined threshold distance d from the specified geographic location (collectively specified by the virtual boundary condition). Figure 5 , when the communication device moves from 504a to 504b, the Wi-Fi chipset determines that it has entered visibility distance 512 of AP 508, which is within a predefined threshold distance d from geographic location 510. This transition satisfies a geo-proximity event for a virtual boundary condition. Thus, if the operating system instructs the Wi-Fi chipset to issue an alert upon detecting a geo-proximity event for a specified geographic location and distance d, the Wi-Fi chipset of communication device 504b will alert the operating system of the geo-proximity event associated with the virtual boundary condition. Alternatively, a geo-fence proximity event may be based on the communication device entering a maximum threshold distance from such an AP, rather than visibility distance 512.

[0040] Figure 6An example system 600 for providing an example Wi-Fi-assisted indoor location service is shown. It should be understood that the described techniques can also be used for outdoor locations. System 600 represents an example communication device, such as a mobile phone, a tablet computer, a laptop computer, an Internet of Things (IoT) device, etc. System 600 includes one or more main processors 602, such as a single-core or multi-core microprocessor. The one or more main processors 602 execute an operating system (divided into an operating system kernel 604 and an operating system application programming interface (API) 606, one or more device drivers (see, for example, Wi-Fi chipset driver 608 and sensor device driver 610)), and can execute one or more applications 612. The operating system kernel 604, Wi-Fi chipset driver 608, and sensor device driver 610 interface with the one or more main processors 602, Wi-Fi chipset 614, and sensor chipset 616, respectively, via a hardware abstraction layer 618.

[0041] exist Figure 6 In the present invention, the Wi-Fi chipset 614 of the communication device supports the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively, "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist in such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset 614 in the communication device can use the FTM protocol to measure the distance of the communication device to a designated AP.

[0042] One or more main processors 602, and possibly a Wi-Fi chipset 614 and a sensor chipset 616, can transition between two or more power consumption levels. For example, to conserve power (e.g., grid power or battery charge), a hardware component can transition from a high-power mode to a lower-power mode. In the described techniques, an operating system and / or an application can instruct one or more main processors 602 to transition to a lower-power mode, awaiting a wakeup event that triggers one or more main processors 602 to transition back to a higher-power mode. In one implementation, the operating system communicates a virtual boundary condition to the Wi-Fi chipset 614 and transitions one or more main processors 602 to a lower-power mode. When the Wi-Fi chipset 614 detects that a communication device meets the virtual boundary condition (e.g., relative to nearby visible access points), the Wi-Fi chipset 614 issues a warning to the operating system, which can then trigger one or more main processors 602 to transition back to a higher-power mode to handle the warning. In some implementations, the Wi-Fi chipset warns the main processors to transition back to the higher-power mode, thereby waking up the operating system.

[0043] In one implementation, sensory information from the sensor chipset 616 can be used as part of the virtual boundary conditions. For example, the sensor chipset 616 can include one or more accelerometers, one or more gyroscopes, and / or one or more pedometers for detecting motion. If no motion is detected, the detected entry, exit, geofence proximity, or geolocation proximity event can be ignored because the communication device is not moving. In another implementation, if no motion is detected, the Wi-Fi chipset 614 can save power by not performing distance measurements until motion is detected.

[0044] In another example, the sensor chipset 616 may include a GNSS receiver module capable of monitoring the positioning of the communication device in an outdoor location. For example, the operating system may specify a GNSS condition to the GNSS receiver module, which may determine that the communication device has transitioned between an outdoor location and an indoor location, and either assist the Wi-Fi chipset 614 in determining whether a virtual boundary condition has been met, or notify the operating system itself. In addition, if the GNSS receiver module is able to determine the location of the communication device and provide sufficient information for location services, the operating system may specify GNSS information to replace any warnings from the Wi-Fi chipset 614, although in other implementations, the FTM solution of the Wi-Fi chipset 614 may be preferred. Communication between the Wi-Fi chipset 614 and the sensor chipset 616 may be through the hardware abstraction layer 618, through a device driver, through the operating system kernel, through an operating system service, and / or through one or more applications.

[0045] In both examples, using the Wi-Fi chipset is expected to consume more power than using motion sensor measurements, although this is not true for all configurations. In some implementations, higher layers (e.g., operating system services, applications) may not necessarily facilitate communication between the Wi-Fi chipset and the sensors, but may instead decide when to enable and disable geofencing in the Wi-Fi chipset 614 based on information from the sensor chipset 616.

[0046] Figure 7 An example Wi-Fi chipset 700 is shown for an example Wi-Fi assisted indoor location service. It should be understood that the described techniques can also be used for outdoor locations. The Wi-Fi chipset 700 communicates with the rest of the system (e.g., communication devices) via a system interface 702, which can, for example, interface with a hardware abstraction layer. The Wi-Fi chipset 700 communicates with one or more APs via a Wi-Fi communication interface 704. Figure 7In the present invention, the Wi-Fi chipset 700 supports the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard to assist indoor asset tracking and / or geo-fencing (collectively referred to as "location services") using low-power operation. Other sensors and distance detection protocols may also be used to assist such location services, including but not limited to GNSS sensors and motion detection sensors (e.g., accelerometers, gyroscopes, pedometers). Thus, the Wi-Fi chipset 700 can use the FTM protocol to measure the distance of a communication device to a specified AP.

[0047] The Wi-Fi chipset 700 receives location service instructions (e.g., virtual boundary conditions including one or more distance conditions between the communication device and one or more Wi-Fi access points) from the operating system via the system interface 702. The Wi-Fi chipset 700 communicates with one or more access points via the Wi-Fi communication system 706 and the fine timing measurement system 708, which implements the FTM protocol to measure the distance between the communication device and the one or more access points. The test system 710 of the Wi-Fi chipset 700 tests the measured distance using one or more virtual boundary conditions specified by the operating system. If the test system 710 determines that the virtual boundary conditions are met, the notification system 712 of the communication device issues an alert to the operating system via the system interface 702. The alert may include, but is not limited to, one or more distances to one or more identified access points, as well as indications of exit, entry, geofence proximity, or geographic proximity events. In one or more implementations, a power management system (not shown) is configured to transition one or more main processors of the communication device from a low-power mode to a higher-power mode, and from a higher-power mode to a low-power mode.

[0048] Figure 8 Example operations 800 for example Wi-Fi assisted indoor location services are shown. It should be understood that the described techniques can also be used for outdoor locations. The method assists location services for a communication device including one or more main processors executing an operating system. A receiving operation 802 receives a virtual boundary condition from an operating system in a Wi-Fi chipset of the communication device. A measuring operation 804 measures one or more distances between the communication device and one or more Wi-Fi access points in the Wi-Fi chipset of the communication device. A testing operation 806 determines in the Wi-Fi chipset of the communication device that the one or more measured distances have met the virtual boundary condition. It should be understood that in most cases where the virtual boundary condition is not met, the Wi-Fi chipset loops back in the measuring operation 804 to take more distance measurements.

[0049] An alert operation 808 notifies an operating system in response to determining that the one or more measured distances have satisfied at least one of the one or more distance conditions.

[0050] In at least one implementation, after the operating system has communicated the virtual boundary condition to the Wi-Fi chipset, the one or more main processors transition from a higher power mode to a low power mode. Subsequently, in response to an alert operation, the one or more main processors transition from the low power mode to a higher power mode. It should be understood that in some implementations, the transition of the main processors to the low power mode may not occur immediately after the virtual boundary condition has been communicated to the Wi-Fi chipset, but may be triggered based on some other event (e.g., the communication device goes to sleep due to being idle or the user explicitly puts the communication device to sleep by clicking the power button). If the one or more main processors were in a low power mode prior to the alert (e.g., notification) operation 808, the result of the alert operation 808 may cause the one or more main processors to transition to a higher power mode.

[0051] Figure 9 An example operating environment and system for performing an example Wi-Fi assisted indoor location service are shown. It should be understood that the described techniques can also be used for outdoor locations. Communication device 900 can be a client device such as a laptop, mobile device, desktop, tablet; a server / cloud device; an Internet of Things device; an electronic accessory; or another electronic device. Communication device 900 includes one or more processors 902 and memory 904. Memory 904 typically includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., flash memory). An operating system 910 resides in memory 904 and is executed by processor 902.

[0052] In the example communication device 900, as Figure 9 As shown, one or more modules or segments, such as communication software 950, applications 952, location service software 954, and other modules, are loaded into the operating system 910 on the memory 904 and / or storage device 920 and executed by the processor(s) 902. The storage device 920 may store communication parameters and other data and be local to the communication device 900, or may be remote and communicatively connected to the communication device 900.

[0053] The communication device 900 includes a power supply 916 that is powered by one or more batteries or other power sources and provides power to the other components of the communication device 900. The power supply 916 may also be connected to an external power source that overwrites or recharges the internal batteries or other power sources.

[0054] The communication device 900 may include one or more communication transceivers 930, which may be connected to one or more antennas 932 to provide network connectivity (e.g., mobile phone networks, ). The communication device 900 includes a Wi-Fi chipset and may also include another communication interface 936. In an implementation of the described technology, the Wi-Fi chipset 956 supports the FTM protocol. The communication device 900 can use an adapter and any other type of communication device to establish a connection on a wide area network (WAN) or a local area network (LAN). It should be appreciated that the network connections shown are exemplary and that other communication devices and means for establishing a communication link between the communication device 900 and other devices may be used.

[0055] The communication device 900 may include one or more input devices 934 that allow a user to enter commands and information (e.g., a keyboard or mouse). These and other input devices may be coupled to the communication device 900 via one or more interfaces 938, such as a serial port, a parallel port, or a universal serial bus (USB). The communication device 900 may also include a display 922, such as a touch screen display.

[0056] The communication device 900 may include various tangible processor-readable storage media and intangible processor-readable communication signals. Tangible processor-readable storage devices can be implemented by any available media that can be accessed by the communication device 900, and include both volatile and non-volatile storage media, removable and non-removable storage media. Tangible processor-readable storage media include intangible communication signals, and include volatile and non-volatile, removable and non-removable storage media implemented in any method or technology for storing information such as processor-readable instructions, data structures, program modules, or other data. Tangible processor-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage devices, cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other tangible medium that can be used to store desired information and can be accessed by the communication device 900. Compared to tangible processor-readable storage media, intangible processor-readable communication signals can implement processor-readable instructions, data structures, program modules, or other data residing in a modulated data signal such as a carrier wave or other signal transmission mechanism. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, intangible communication signals include signals propagated over wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.

[0057] Although this specification contains many specific implementation details, these details should not be interpreted as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features that are specific to particular embodiments of the particular described technology. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any appropriate sub-combination. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed as such, one or more features from the claimed combination may be stripped from that combination in some cases, and the claimed combination may be directed to a sub-combination or a variant of a sub-combination.

[0058] Similarly, although operations are described in a particular order in the accompanying drawings, this should not be understood as requiring that the operations be performed in the particular order shown or in sequence, or that all of the illustrated operations be performed, in order to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0059] Thus, certain embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes illustrated in the accompanying drawings do not necessarily require the particular order shown or sequential order to achieve the desired results. In some implementations, multitasking and parallel processing may be advantageous.

[0060] An example method for offloading one or more location services to a wireless communication chipset of a communication device is provided. The communication device includes one or more main processors configured to execute an operating system. The method includes receiving a virtual boundary condition from the operating system in the wireless communication chipset of the communication device. The virtual boundary condition specifies at least one threshold distance between the communication device and one or more wireless communication devices. In response to receiving, the one or more main processors transition from a higher power mode to a lower power mode. In the wireless communication chipset of the communication device, one or more distances between the communication device and the one or more wireless communication devices are measured using a wireless communication distance measurement protocol. In the wireless communication chipset of the communication device, it is determined that the one or more measured distances have satisfied the virtual boundary condition. The operating system is notified that the one or more measured distances have satisfied the virtual boundary condition. In response to notifying, the one or more main processors transition from the low power mode to a higher power mode.

[0061] Another example method of any of the foregoing methods is provided, wherein the one or more measured distances are measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

[0062] Another example method of any of the foregoing methods is provided, wherein the one or more measured distances are measured using a wireless communication signal round trip time (RTT) measurement.

[0063] Another example method of any of the foregoing methods is provided, wherein the virtual boundary condition specifies a geofence defined by one or more threshold distance conditions between the communication device and one or more wireless communication devices.

[0064] Another example method of any of the preceding methods is provided, wherein the one or more threshold distance conditions include a minimum threshold distance and a maximum threshold distance for a designated access point.

[0065] Another example method of any of the foregoing methods is provided wherein the virtual boundary condition specifies one or more threshold distance conditions defining a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the communication device has entered the geofence.

[0066] Another example method of any of the foregoing methods is provided wherein the virtual boundary condition specifies one or more threshold distance conditions defining a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the communication device has exited the geofence.

[0067] Another example method of any of the foregoing methods is provided, wherein another virtual boundary condition is received by the wireless communication chipset from an operating system, the another virtual boundary condition specifying a geographic location and a predefined threshold distance, and instructing the wireless communication chipset to notify the operating system after the communication device detects the wireless communication device at a location within the specified predefined threshold distance from the specified geographic location.

[0068] An example communication device for offloading one or more location services is provided. The communication device includes one or more main processors configured to execute an operating system, and a wireless communication chipset. The wireless communication chipset includes a system interface configured to receive a virtual boundary condition to offload the one or more location services from the operating system. The virtual boundary condition specifies at least one threshold distance between the communication device and one or more wireless communication devices, wherein in response to receiving the virtual boundary condition, the one or more main processors transition from a higher power mode to a lower power mode. The wireless communication device also includes a measurement system configured to measure one or more distances between the communication device and the one or more wireless communication devices using a wireless communication distance measurement protocol. A test system is configured to determine that the one or more measured distances have satisfied the virtual boundary condition. A notification system is configured to notify the operating system via the system interface in response to determining that the one or more measured distances have satisfied the virtual boundary condition, wherein in response to the notification, the one or more main processors transition from the low power mode to a higher power mode.

[0069] Another example communication device of any foregoing communication device is provided, wherein the one or more measured distances are measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

[0070] Another example communication device of any foregoing communication device is provided, wherein the one or more measured distances are measured using a wireless communication signal round trip time (RTT) measurement.

[0071] Another example communication device of any foregoing communication device is provided, wherein the virtual boundary condition specifies a geo-fence defined by one or more threshold distance conditions between the communication device and one or more wireless communication devices.

[0072] Another example communication device of any foregoing communication device is provided, wherein satisfying a virtual boundary condition in a wireless communication chipset of the communication device is dependent upon a Global Navigation Satellite System (GNSS) based determination that the communication device has transitioned between an outdoor location and an indoor location.

[0073] Another example communication device of any foregoing communication device is provided, wherein satisfying the virtual boundary condition in a wireless communication chipset of the communication device is dependent on a sensor-based determination that the communication device is moving when the virtual boundary condition is satisfied.

[0074] One or more tangible articles of manufacture encoding processor-executable instructions for execution in an electronic communication device, including a tangible processor-readable storage medium, provide a process for offloading one or more location services to a wireless communication chipset of the electronic communication device. The electronic communication device includes one or more host processors configured to execute an operating system. The process includes, in the wireless communication chipset of the electronic communication device, receiving a virtual boundary condition from the operating system. The virtual boundary condition specifies at least one threshold distance between the electronic communication device and one or more wireless communication devices. In response to receiving the virtual boundary condition, the one or more host processors transition from a higher power mode to a lower power mode. The wireless communication chipset of the electronic communication device measures one or more distances between the electronic communication device and the one or more wireless communication devices using a wireless communication distance measurement protocol. The wireless communication chipset of the electronic communication device determines that the one or more measured distances have met the virtual boundary condition. The operating system is notified that the one or more measured distances have met the virtual boundary condition. In response to the notification, the one or more host processors transition from the lower power mode to a higher power mode.

[0075] Other one or more example tangible processor-readable storage medium devices of any preceding medium, wherein the one or more measured distances are measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

[0076] Other one or more examples of any of the foregoing media include tangible processor-readable storage media devices, wherein the one or more measured distances are measured using a wireless communication signal round trip time (RTT) measurement.

[0077] Other one or more examples of any of the foregoing media include tangible processor-readable storage media devices, wherein the virtual boundary condition specifies one or more threshold distance conditions that define a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the electronic communication device has entered the geofence.

[0078] Other one or more examples of any of the foregoing media include tangible processor-readable storage media devices, wherein the virtual boundary condition specifies one or more threshold distance conditions that define a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the electronic communication device has exited the geofence.

[0079] Other one or more examples of any of the foregoing media include a tangible processor-readable storage medium device, wherein another virtual boundary condition is received by the wireless communication chipset from the operating system, the another virtual boundary condition specifying a geographic location and a predefined threshold distance, and instructing the wireless communication chipset to notify the operating system after the communication device detects the wireless communication device at a location within the specified predefined threshold distance from the specified geographic location.

[0080] An example system for offloading one or more location services to a wireless communication chipset of a communication device is provided. The communication device includes one or more main processors configured to execute an operating system. The system includes components for receiving a virtual boundary condition from the operating system in the wireless communication chipset of the communication device. The virtual boundary condition specifies at least one threshold distance between the communication device and one or more wireless communication devices. The system also includes components for transitioning the one or more main processors from a higher power mode to a lower power mode in response to the receiving of the virtual boundary condition. The system also includes components for measuring one or more distances between the communication device and the one or more wireless communication devices in the wireless communication chipset of the communication device using a wireless communication distance measurement protocol. The system also includes components for determining that the one or more measured distances have satisfied the virtual boundary condition. The system also includes components for notifying the operating system that the one or more measured distances have satisfied the virtual boundary condition. The system also includes components for transitioning the one or more main processors from the lower power mode to a higher power mode in response to the notification.

[0081] Another example method of any of the foregoing methods is provided, wherein the one or more measured distances are measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

[0082] Another example method of any of the foregoing methods is provided, wherein the one or more measured distances are measured using a wireless communication signal round trip time (RTT) measurement.

[0083] Another example method of any of the foregoing methods is provided, wherein the virtual boundary condition specifies a geofence defined by one or more threshold distance conditions between the communication device and one or more wireless communication devices.

[0084] Another example method of any of the preceding methods is provided, wherein the one or more threshold distance conditions include a minimum threshold distance and a maximum threshold distance for a designated access point.

[0085] Another example method of any of the foregoing methods is provided wherein the virtual boundary condition specifies one or more threshold distance conditions defining a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the communication device has entered the geofence.

[0086] Another example method of any of the foregoing methods is provided wherein the virtual boundary condition specifies one or more threshold distance conditions defining a geofence and instructs the wireless communication chipset to notify an operating system when one or more measured distances indicate that the communication device has exited the geofence.

[0087] Another example method of any of the foregoing methods is provided, wherein another virtual boundary condition is received by the wireless communication chipset from an operating system, the another virtual boundary condition specifying a geographic location and a predefined threshold distance, and instructing the wireless communication chipset to notify the operating system after the communication device detects the wireless communication device at a location within the specified predefined threshold distance from the specified geographic location.

[0088] Several implementations of the described technology have been described. However, it will be understood that various modifications can be made without departing from the spirit and scope of the following claims.

Claims

1. A method for offloading location services from an operating system to a wireless communication chipset of a communication device, the method comprising: In the wireless communication chipset of the communication device, measuring a distance between the communication device and a wireless communication device; In the wireless communication chipset of the communication device, determining that the distance is within a threshold distance; as well as Based on determining that the distance is within the threshold distance, implementing the location service using the wireless communication chipset of the communication device, wherein implementing the location service using the wireless communication chipset of the communication device consumes less power than implementing the location service using the operating system.

2. The method of claim 1, wherein the distance is measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

3. The method of claim 1, wherein the distance is measured using a wireless communication signal round trip time (RTT) measurement. The method of claim 1 , wherein the threshold distance is associated with a geofence defined by the wireless communication device. The method of claim 4 , wherein the wireless communication device comprises an access point, and the geofence is defined for the access point.

6. The method according to claim 4, wherein: determining that the distance is within the threshold distance indicates that the communication device has entered the geofence; and The method also includes notifying the operating system that the distance is within the threshold distance, thereby signaling to the operating system that the communication device has entered the geofence.

7. The method according to claim 6, further comprising: measuring, in the wireless communication chipset of the communication device, another distance between the communication device and the wireless communication device; determining, in the wireless communication chipset of the communication device, that the other distance is not within the threshold distance; as well as The operating system is notified that the other distance is not within the threshold distance, thereby signaling to the operating system that the communication device has left the geofence.

8. The method of claim 1, wherein when the wireless communication chipset of the communication device is used to implement the location service, a processor transitions from a first power mode to a second power mode that consumes less power than the first power.

9. A device for offloading location services from an operating system to a wireless communication chipset, the device comprising: a processor configured to execute the operating system; as well as The wireless communication chipset is configured to: measuring the distance between the device and the wireless communication device; determining that the distance is within a threshold distance; as well as Based on determining that the distance is within the threshold distance, the location service is implemented, wherein implementing the location service using the wireless communication chipset consumes less power than implementing the location service using the operating system.

10. The apparatus of claim 9, wherein the distance is measured using the IEEE 802.11mc Fine Timing Measurement (FTM) protocol standard.

11. The apparatus of claim 9, wherein the distance is measured using a wireless communication signal round trip time (RTT) measurement.

12. The device of claim 9, wherein the threshold distance is associated with a geofence defined by the wireless communication device.

13. The device of claim 12, wherein the wireless communication device comprises an access point, and the geofence is defined for the access point.

14. The apparatus of claim 12, wherein: determining that the distance is within the threshold distance indicates that the device has entered the geofence; and The wireless communication chipset is further configured to notify the operating system that the distance is within the threshold distance, thereby signaling to the operating system that the device has entered the geofence.

15. The device of claim 14, wherein the wireless communication chipset is further configured to: measuring another distance between the device and the wireless communication device; determining that the another distance is not within the threshold distance; and The operating system is notified that the other distance is not within the threshold distance, thereby signaling to the operating system that the device has left the geofence.

16. The device of claim 9, wherein the processor transitions from a first power mode to a second power mode that consumes less power than the first power when the wireless communication chipset implements the location service.

17. A wireless communication chipset for a device having an operating system configured to implement location services, the wireless communication chipset being configured to: measuring the distance between the device and the wireless communication device; determining that the distance is within a threshold distance; and Based on determining that the distance is within the threshold distance, the location service is implemented, wherein implementing the location service using the wireless communication chipset of the communication device consumes less power than implementing the location service using the operating system.

18. The wireless communication chipset according to claim 17, wherein: determining that the distance is within the threshold distance indicates that the device has entered a geofence defined by the wireless communication device; and The wireless communication chipset is further configured to notify the operating system that the distance is within the threshold distance, thereby signaling to the operating system that the device has entered the geofence.

19. The wireless communication chipset according to claim 18, further configured to: measuring another distance between the device and the wireless communication device; determining that the another distance is not within the threshold distance; and The operating system is notified that the other distance is not within the threshold distance, thereby signaling to the operating system that the device has left the geofence.

20. The wireless communication chipset of claim 17, wherein when the wireless communication chipset implements the location service, a processor of the device transitions from a first power mode to a second power mode that consumes less power than the first power.