Activating and deactivating sensors for dead reckoning

Information

  • Patent Grant
  • 10082397
  • Patent Number
    10,082,397
  • Date Filed
    Monday, June 13, 2016
    8 years ago
  • Date Issued
    Tuesday, September 25, 2018
    5 years ago
Abstract
An identification is made as to when a device is at an anchor location, which can be a proximity zone along an edge of a dead zone or a location where a signal from a beacon is detected. In response to the device being at the anchor location, one or more inertial sensors can be activated and data from the one or more inertial sensors collected to determine a position of the device using dead reckoning. Alternatively, in response to the device being at the anchor location, a determination is made as to when to deactivate one or more inertial sensors from which data is collected to determine the position of the device using dead reckoning.
Description
BACKGROUND

As cellular phones have become more commonplace and powerful, the desire for certain applications to provide location-based functionality on these phones has increased. In order to provide such location-based functionality, the position of the phone needs to be known. The position of a phone can sometimes be determined based on coordinates received from a global positioning system (GPS) of the phone. However, it remains difficult to determine the position of a phone under certain circumstances, such as when the GPS of the phone is not able to determine an accurate position of the phone, or when the phone does not include GPS functionality.


SUMMARY

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.


In accordance with one or more aspects, an identification is made that a device is at an anchor location. In response to the device being at an anchor location, one or more inertial sensors are activated. Data from the one or more inertial sensors is collected to determine a position of the device using dead reckoning.


In accordance with one or more aspects, an identification is made that a device is at an anchor location. Based at least in part on the device being at the anchor location, a determination is made as to when to deactivate one or more inertial sensors from which data is collected to determine the position of the device using dead reckoning.





BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the drawings to reference like features.



FIG. 1 illustrates an example system implementing the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments.



FIG. 2 illustrates an example user interface that can be displayed to a user of a device to allow the user to select whether position data for that device will be recorded and provided to a crowd sourcing data service in accordance with one or more embodiments.



FIG. 3 illustrates an example device implementing the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments.



FIG. 4 illustrates an example proximity zone in accordance with one or more embodiments.



FIG. 5 illustrates an example use of anchored beacons in accordance with one or more embodiments.



FIG. 6 illustrates an example use of backtracking in accordance with one or more embodiments.



FIG. 7 is a flowchart illustrating an example process for crowd sourcing based on dead reckoning in accordance with one or more embodiments.



FIG. 8 is a flowchart illustrating an example process for activating and deactivating inertial sensors for dead reckoning in accordance with one or more embodiments.



FIG. 9 illustrates an example computing device that can be configured to implement the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments.





DETAILED DESCRIPTION

Activating and deactivating sensors for dead reckoning is discussed herein. A device identifies signals it receives at a particular point in time, such as Wi-Fi signals and cell tower signals. The device records data indicating these identified signals, as well as data indicating the position of the device at that particular point in time. The position of the device can be determined using a Global Navigation Satellite System (GNSS) such as GPS. In situations in which a GNSS is not available or does not provide an accurate enough position, dead reckoning can be used to determine the position of the device. The position determined using dead reckoning can also be modified based on signals received from beacons anchored at known positions. The ability to determine the position of the device is thus extended into areas in which a GNSS is not available or does not provide an accurate enough position. When the position of the device is determined using dead reckoning various inertial sensors can be activated, and these inertial sensors can be deactivated at other times to conserve energy.


The device records data indicating the identified signals and position of the device at various times, as do other devices, and the recorded data is provided by these devices to a collection system. This data provided by the devices, also referred to as crowd sourcing data, is collected by the collection system and can subsequently be used in any of a variety of different manners.



FIG. 1 illustrates an example system 100 implementing the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments. System 100 includes one or more (m) devices 102 that can communicate with a crowd sourcing data service 104 via a network 106. Network 106 can be a variety of different networks, including the Internet, a local area network (LAN), a wide area network (WAN), a telephone network, an intranet, other public and/or proprietary networks, combinations thereof, and so forth.


Each device 102 can be a variety of different types of devices, with different devices 102 being the same or different types of devices. Device 102 is typically a mobile device, the position of which is expected to change frequently over time. For example, device 102 can be a cellular or other wireless phone, a laptop or netbook computer, a tablet or notepad computer, a mobile station, an entertainment appliance, a game console, an automotive computer, and so forth. Thus, device 102 may range from a full resource device with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles).


Device 102 records data identifying signals that device 102 receives and a corresponding position of device 102 at various points in time, as discussed in more detail below. Device 102 can also optionally provide various other functionality in addition to recording the data identifying received signals and corresponding device position at various points in time, such as a phone functionality, automotive computer functionality, gaming functionality, and so forth. Alternatively, device 102 can be a dedicated position sensing device that supports little, if any, functionality other than recording the data identifying received signals and corresponding device position at various points in time.


Each device 102 includes a crowd sourcing module 108 that supports dead reckoning. Each crowd sourcing module 108 can use dead reckoning to determine the position of the device 102 including that module 108, as discussed in more detail below. Although illustrated as a single module, it should be noted that the functionality of module 108 can alternatively be separated into multiple modules. Data indicating this determined position of the device 102, as well as data identifying signals received by the device 102 (and optionally strengths of those signals) at that determined position, at various times is recorded by device 102. This recorded data is also referred to as crowd sourcing data, and is provided to crowd sourcing data service 104. Crowd sourcing as used herein refers to each of multiple (typically a large number, such as hundreds of thousands or more) devices providing data to a service, so the service obtains data from a crowd of devices rather than relying on data from a single device. Both the individual devices and the service play a part in the crowd sourcing.


Crowd sourcing data service 104 receives recorded data from multiple devices 102, collecting the data for subsequent use. The data collected by crowd sourcing data service 104 can be used to provide various location-based or position-based functionality. As used herein, a location refers to a general or larger geographic area rather than a precise coordinate, such as one or more buildings (e.g., home or work), a business or store, a buffer zone around a building, and so forth. A position, however, refers to a geographic area that is more precise than a location, such as a coordinate in some coordinate system (e.g., a particular latitude and/or longitude), a particular elevation, and so forth. Thus, each location can include multiple positions. Crowd sourcing data service 104 is implemented using one or more devices. The one or more devices used to implement crowd sourcing data service 104 can be a variety of different types of devices, such as server computers, desktop computers, any of the various types of devices discussed above with reference to device 102, and so forth. Service 104 can be implemented using multiple ones of the same and/or different types of devices.


In one more embodiments, the recording of data indicating the position of a device and/or the providing of the recorded data to crowd sourcing data service 104 is performed only after receiving user consent to do so. This user consent can be an opt-in consent, where the user takes an affirmative action to request that the position data be recorded before crowd sourcing module 108 performs any recording of data for the device. Alternatively, this user consent can be an opt-out consent, where the user takes an affirmative action to request that the position data not be recorded; if the user does not choose to opt out of this recording of the position data, then it is an implied consent by the user to record the position data.


Furthermore, it should be noted that the activating and deactivating of sensors for dead reckoning techniques discussed herein can allow devices 102 to provide position data to crowd sourcing data service 104, but need not include any personal information identifying particular users of devices 102 and/or particular devices 102. For example, a device 102 can record position data and provide the position data to service 104, but no association between the device 102 and the position data need be provided to and/or maintained by service 104. Similarly, no association between the user of the device 102 and the position data need be provided to and/or maintained by service 104.



FIG. 2 illustrates an example user interface that can be displayed to a user of a device to allow the user to select whether position data for that device will be recorded and provided to a crowd sourcing data service in accordance with one or more embodiments. A position recording control window 200 is displayed including a description 202 explaining to the user why the position of the device is being recorded. A link 204 to a privacy statement is also displayed. If the user selects link 204, a privacy statement is displayed, explaining to the user how the recorded position data is kept confidential and/or how no association between the position and the device (as well as the user of the device) is maintained.


Additionally, the user is able to select a radio button 206 to opt-in to the position recording, or a radio button 208 to opt-out of the position recording. Once a radio button 206 or 208 is selected, the user can select an “OK” button 210 to have the selection saved. It is to be appreciated that radio buttons and an “OK” button are only examples of user interfaces that can be presented to a user to opt-in or opt-out of the position recording, and that a variety of other conventional user interface techniques can alternatively be used. The device then proceeds to record or not record the device position in accordance with the user's selection.



FIG. 3 illustrates an example device 300 implementing the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments. Device 300 can be, for example, a device 102 of FIG. 1. Device 300 includes a Global Navigation Satellite System (GNSS) module 302, a Wi-Fi module 304, a communications module 306, an inertial sensor module 308, a data collection module 310, a backtracking module 312, a position determination module 314, a dead reckoning position module 316, a data transfer module 318, and a data store 320. Modules 302-318 can implement, for example, crowd sourcing module 108 of FIG. 1. Each module 302-318 can be implemented in software, firmware, hardware, or combinations thereof. Although specific modules are illustrated in FIG. 3, it should be noted that additional modules can be included in device 300 and/or some modules (e.g., backtracking module 312) illustrated need not be included in device 300. Additionally, it should be noted that the functionality of multiple modules illustrated in FIG. 3 can be combined into a single module, and/or the functionality of one or more modules illustrated in FIG. 3 can be separated into multiple modules.


GNSS module 302 implements GNSS functionality for device 300, determining a position of device 300 based on one or more satellites from which GNSS module 302 can receive signals or otherwise communicate. This determined position is typically latitude and longitude coordinates, although the position can alternatively be specified in other manners. GNSS module 302 can implement the GNSS functionality using a variety of different technologies, such as the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou (or Compass) navigation system, the Galileo positioning system, combinations thereof, and so forth.


GNSS module 302 provides or otherwise makes available the determined position of device 300 to various other modules of device 300. GNSS module 302 can also provide or otherwise make available an indication of an estimate of the accuracy of the position of device 300 determined by GNSS module 302. For example, GNSS module 302 can indicate that a particular determined position of device 300 is estimated to be accurate to within a particular distance (e.g., 3 meters or 8 meters). By way of another example, GNSS module 302 can indicate that a particular position of device 300 was determined based on signals received from a particular number of satellites (e.g., 3 satellites or 7 satellites), can indicate the strength of signals received by module 302 from satellites, and so forth. Based on such an indication, another module of device 300 can determine an estimated accuracy of the determined position (e.g., estimated to be accurate within 40 meters if signals are received from 3 satellites, and within 8 meters if signals are received from 7 satellites).


GNSS module 302 can determine the position of device 300 at regular or irregular intervals. GNSS module 302 can also determine the position of device 300 in response to various events, such as a request from another module of device 300. In one or more embodiments, GNSS module 302 can also be deactivated or powered down at various times (e.g., to conserve energy), and not determine the position of device 300 until module 302 is activated or powered on. GNSS module 302 can be configured to deactivate or power down itself in response to certain conditions (e.g., receiving signals from fewer than a threshold number of satellites for a threshold amount of time), and/or in response to a deactivate or power down signal from another module of device 300. GNSS module 302 can be activated or powered on in response to a signal from another module of device 300 and/or in response to certain conditions (e.g., being deactivated or powered down for a threshold amount of time).


Wi-Fi module 304 implements wireless functionality for device 300, sending signals to and/or receiving signals from devices on various wireless networks. Wi-Fi module 304 can receive signals from various wireless access points, including an identifier of a particular wireless access point and/or a particular wireless network from which a signal is received. For example, a wireless access point may send a media access control (MAC) address of the wireless access point, a basic service set identifier (BSSID) of a wireless network supported by the wireless access point, and so forth. Wi-Fi module 304 also measures a strength (e.g., received signal strength indicator (RSSI) values) of these received radio signals. It should be noted that Wi-Fi module 304 can, at any given time for any given position of device 300, receive signals from multiple wireless access points. Wi-Fi module 304 provides or otherwise makes available an indication of the identifiers of the particular wireless access points and/or wireless networks from which signals are received, as well as the strengths of those signals, to various other modules of device 300.


Wi-Fi module 304 can detect particular wireless access points and/or wireless networks from which signals are received, and the strength of those signals, at regular or irregular intervals. Wi-Fi module 304 can also detect particular wireless access points and/or wireless networks from which signals are received, and the strength of those signals, in response to various events, such as a request from another module of device 300.


Communications module 306 implements cell phone functionality for device 300, sending signals to and/or receiving signals from various cell transceivers (e.g., cell towers). Communications module 306 can receive signals from various cell transceivers, including an identifier of a particular cell transceiver (e.g., a cell tower or transceiver identifier) from which a signal is received. Communications module 306 also measures a strength (e.g., RSSI values) of these received signals. It should be noted that communications module 306 can, at any given time for any given position of device 300, receive signals from multiple cell transceivers. Communications module 306 provides or otherwise makes available an indication of the identifiers of the particular cell transceivers from which signals are received, as well as the strengths of those signals, to various other modules of device 300.


Communications module 306 can detect particular cell transceivers from which signals are received, and the strength of those signals, at regular or irregular intervals. Communications module 306 can also detect particular cell transceivers from which signals are received, and the strength of those signals, in response to various events, such as a request from another module of device 300.


Inertial sensor module 308 includes one or more inertial sensors that detect movement (e.g., rotation, motion, velocity, etc.), position, or direction. These inertial sensors can be MEMS (Microelectromechanical Systems or Microelectronicmechanical systems). These inertial sensors can include, for example, an accelerometer, a compass, a gyroscope, a baroaltimeter, and so forth. Inertial sensor module 308 collects data regarding the detected movement, position, and/or direction of device 300 from these inertial sensors, and provides or otherwise makes available this collected data to other modules of device 300. This data can be used to determine a position of device 300 using dead reckoning, as discussed in more detail below.


It should also be noted that although inertial sensor module 308 is illustrated as being part of device 300, one or more inertial sensors can be implemented as a separate component or device that is coupled to device 300. For example, inertial sensors can be implemented as part of a watch worn by a user, as part of a device attached to a user's shoe, as part of a heart rate monitor component, and so forth.


Inertial sensor module 308 can collect data at regular or irregular intervals. Inertial sensor module 308 can also collect data in response to various events, such as a request from another module of device 300. In one or more embodiments, inertial sensor module 308 (including the inertial sensors) can also be deactivated or powered down at various times (e.g., to conserve energy), and not provide or collect data until module 308 is activated or powered on. Inertial sensor module 308 can be configured to deactivate or power down itself in response to certain conditions (e.g., after a threshold amount of time), and/or in response to a deactivate or power down signal from another module of device 300. Inertial sensor module 308 (including the inertial sensors) can be activated or powered on in response to a signal from another module of device 300 and/or in response to certain conditions (e.g., being deactivated or powered down for a threshold amount of time).


Dead reckoning position module 316 determines the position of device 300 based on data collected by inertial sensor module 308. Dead reckoning refers to determining a position of device 300 based on the movement of device 300 (e.g., as opposed to receiving one or more signals indicating the position of device 300). In device 300, the movement of device 300 is indicated by the data collected from the inertial sensors as discussed above. The dead reckoning is performed based on a known starting position (e.g., a position determined by GNSS module 302, a position identified by a beacon as discussed below, a position specified by a user of device 300 (e.g., by providing a user input of the position on a map), etc.). Dead reckoning position module 316 analyzes the data collected from the inertial sensors using a variety of different conventional and/or proprietary algorithms, rules, or criteria to determine, based on the known starting position and movement of device 300, the position of device 300 at a particular time.


The position of device 300 determined based on the inertial sensors is subject to a particular error over time and/or movement, referred to as drift. This error typically accumulates over time and/or movement, increasing as time elapses and/or the distance moved increases. Dead reckoning position module 316 can determine an estimate of the accuracy of the position of device 300 determined based on the data from inertial sensor module 308. Various conventional and/or proprietary algorithms, rules, or criteria can be used to determine the estimated error. For example, dead reckoning position module 316 can determine that, after movement of a threshold distance is detected, the estimated error in the determined position of device 300 is a particular number of meters (e.g., the estimated error may be 3 meters after walking 400 meters).


Position determination module 314 implements functionality to determine the position of device 300. This position is typically latitude and longitude coordinates, although the position can alternatively be specified in other manners. Position determination module 314 can determine the position of device 300 to be the position determined by GNSS module 302 as discussed above, or the position determined by dead reckoning position module 316 as discussed above. Position determination module 314 automatically determines whether the position of device 300 at any given time is the position determined by GNSS module 302 or the position determined by dead reckoning position module 316 based on various factors, as discussed in more detail below. It should be noted that position determination module 314 automatically determines whether to use the position determined by module 302 or the position determined by module 316—no action on the part of a user of device 300 need be performed to switch between modes or otherwise select one of modules 302 or 316 to provide the position for position determination module 314.


Data collection module 310 implements functionality to record data identifying signals that device 300 receives and a corresponding position of device 300 at various points in time. Wi-Fi module 304 provides or otherwise makes available an indication of the identifiers of the particular wireless access point and/or wireless network from which signals are received, as well as the strengths of those signals, as discussed above. Communications module 306 provides or otherwise makes available an indication of the identifiers of the particular cell transceivers from which signals are received, as well as the strengths of those signals, as discussed above. The indication of the identifiers of the particular wireless access point and/or wireless network from which signals are received at a particular point in time (as well as the strengths of those signals) and/or the indication of the identifiers of the particular cell transceivers from which signals are received at that particular point in time (as well as the strengths of those signals) is also referred to as observation data at that particular point in time. Data collection module 310 records, in data store 320, the observation data at that particular point in time. A position of device 300 (as determined by position determination module 314) at that particular point in time is also recorded in data store 320 and corresponds to the observation data.


Data collection module 310 stores a record including the observation data and corresponding position of device 300 at different points in time. These different points in time can be at regular intervals, irregular intervals, or can be determined based on other factors or events. However, over time, data collection module 310 stores multiple such records in data store 320.


Data transfer module 318 sends the recorded observation data and corresponding positions to a data service (e.g., crowd sourcing data service 104 of FIG. 1). Data transfer module 318 can send the recorded observation data and corresponding positions to the data service at regular or irregular intervals, or alternatively in response to other events (e.g., device 300 being connected to or logged into a particular network).


Position determination module 314 can determine the position of device 300 using GNSS module 302 and/or dead reckoning position module 316. Each module 302 and 316 has an estimated accuracy for the position of device 300 determined by that module. Position determination module 314 can determine the estimated accuracy for the position of device 300 from module 302 and/or module 316 as the estimated accuracy provided by module 302 and/or module 316, and/or determine the estimated accuracy for the position of device 300 based on data provided by module 302 and/or module 316.


Generally, position determination module 314 determines as the position of device 300 the position determined by GNSS position module 302 until device 300 is detected as being at one of one or more anchor locations. An anchor location indicates to device 300 to get ready to use dead reckoning for position determination, for example because the estimated accuracy of GNSS module 302 may decrease and/or GNSS module 302 may be unable to determine a position of device 300 soon (e.g., within a threshold amount of time, such as within the next few or several seconds). Position determination module 314, in response to determining that device 300 is at an anchor location, activates or powers on inertial sensor module 308 if module 308 is not already activated or powered on. Module 314 determines the estimated accuracy of the position of device 300 as determined by module 302 and the estimated accuracy of the position of device 300 as determined by module 316, and determines as the position of device 300 the one of the two determined positions (from module 302 or 316) that is more accurate (e.g., is estimated to be accurate within a smaller amount). For example, if one determined position is estimated to be accurate within 8 meters and the other position is estimated to be accurate within 40 meters, the position estimated to be accurate within 8 meters is the more accurate of the two positions


It should be noted that inertial sensor module 308 (including the inertial sensors) can be typically deactivated or powered down, and then activated or powered on when device 300 is detected as being at an anchor location. When deactivated or powered down, inertial sensors included in module 308 consume very little if any energy. Thus, by keeping inertial sensor module 308 deactivated or powered down until at an anchor location (and using as the position of device 300 the position determined by GNSS module 302), the energy usage of device 300 can be reduced. However, inertial sensor module 308 can then be activated or powered on to provide data used to determine the position of device 300 when the estimated accuracy of GNSS module 302 may decrease and/or GNSS module 302 may be unable to determine a position of device 300 soon.


The anchor locations can be specified in various manners. In one or more embodiments, the anchor locations are locations along the edge or perimeter of a dead zone, these locations being referred to as a proximity zone. A dead zone as used herein refers to an area in which GNSS module 302 cannot provide a position deemed to be accurate enough. For example, a dead zone can be an area in which the estimated accuracy of the position determined by GNSS module 302 is below a threshold amount, an area in which GNSS module 302 is unable to determine a position, an area in which signals are received from less than a threshold number of satellites, combinations thereof, and so forth.


The proximity zone can be defined in various manners. In one or more embodiments, position determination module 314 has access to a mapping of (e.g., latitude and longitude coordinates of) dead zones. The proximity zones can be determined based on the dead zones in a variety of different manners. In one or more embodiments, the proximity zones are specified as a particular distance or buffer space extending away from the edge of the dead zone. For example, the proximity zones can be the area that is a 5-meter buffer along the edge of the dead zone. The particular distance or buffer space can be based on various factors, such as the amount of time inertial sensor module 308 takes to provide accurate data after being activated or powered on, an expected speed of device 300, and so forth.


Alternatively, the proximity zones can be specified as a particular distance or buffer space extending away from the edge of the dead zone within a particular distance of an entrance to the dead zone. For example, the proximity zone can be the area that is both a 5-meter buffer along the edge of the dead zone and within 5 meters of an entrance to the dead zone (e.g., within two meters of a door to a building that is a dead zone).


The proximity zones can be fixed, such as a 5-meter buffer along the edge of the dead zone. Alternatively, the proximity zones can be variable, changing based on the speed of device 300. Position determination module 314 can readily determine the speed of device 300 based on determined positions of device 300 (e.g., by GNSS module 302) and the time between those determinations. The proximity zone can increase as the speed of device 300 increases, and decrease as the speed of device 300 decreases. For example, the proximity zone when device 300 is being held by a user that is running may be a 10-meter buffer along the edge of the dead zone, and the proximity zone when device 300 is being held by a user that is walking slowly may be a 3-meter buffer along the edge of the dead zone.


Given the proximity zones, position determination module 314 can readily determine when device 300 is in a proximity zone based on the position of device 300 as determined by GNSS module 302. The mapping of proximity zones can be obtained in different manners, such as from data store 320 or other store of device 300, from a device or service external to device 300, and so forth.



FIG. 4 illustrates an example proximity zone in accordance with one or more embodiments. A dead zone 402 is illustrated in FIG. 4 as the area with cross-hatching. A proximity zone 404 surrounding dead zone 402 is shown as the area between dead zone 402 and dashed line 406. Additionally, an open area 410 is illustrated that is excluded from, but surrounded by, dead zone 402. In open area 410, the estimated accuracy of the position determined by GNSS module 302 is not below a threshold amount, and thus open area 410 is not included in dead zone 402. Open area 410 could be, for example, an area below skylights in a building, or an outdoor courtyard surrounded by a building. A proximity zone 412 around the edge of dead zone 402 (the edge between dead zone 402 and open area 410) is shown as the area between dead zone 402 and dashed line 414.


Returning to FIG. 3, anchor locations can alternatively be specified in other manners. For example, the anchor locations can be locations specified by a user of device 300 (e.g., by providing a user input of the location on a map), etc.). By way of another example, the anchor locations can be locations where a signal from a beacon is detected. Beacons can be implemented in a variety of different manners, such as Bluetooth transmitters, Bluetooth Low Energy (BLE) transmitters, radio frequency transmitters, Near Field Communication (NFC) transmitters, and so forth. Each such beacon can transmit a signal that is detected by position determination module 314, and can include an indication that the beacon is a beacon for an anchor location and/or an indication of the position of the beacon. The position of the beacon can be transmitted in different manners, such as being transmitted as latitude and longitude coordinates, being transmitted as an identifier that can be looked up in a table accessible to module 314 to determine a corresponding position of the beacon, and so forth. Beacons are typically located at the edge or perimeter of a dead zone (e.g., within or near (within a threshold distance of) a dead zone) where a user can move between the dead zone and a non-dead zone, and optionally can be located elsewhere (e.g., within a dead zone).



FIG. 5 illustrates an example use of anchored beacons in accordance with one or more embodiments. A dead zone 502 is illustrated in FIG. 5 as the area with cross-hatching, analogous to dead zone 402 of FIG. 4. Additionally, an open area 510 is illustrated that is excluded from, but surrounded by, dead zone 502, analogous to open area 410 of FIG. 4. Multiple beacons 520, 522, 524, 526, and 528 are illustrated. Each beacon 520-528 transmits a signal for a particular radius around the beacon (e.g., a 3-meter radius). Although the beacons 520-528 are illustrated as transmitting signals having the same radius, it should be noted that the radius of signals transmitted by different beacons can be different. Additionally, although the beacons 520-528 are illustrates as transmitting a signal with a constant radius in all directions from the beacons, the transmitted signal from a beacon can have a different radius in different directions. For example, a beacon may be mounted to a wall and transmit a signal with a 3-meter radius in a direction away from the wall, and a 1-meter radius in a direction towards the wall.


Returning to FIG. 3, position determination module 314 determines the position of device 300 using GNSS module 302 and/or dead reckoning position module 316 while the estimated accuracy of the position determined by at least one of module 302 and module 316 remains acceptable. Whether the estimated accuracy of the position determined by at least one of module 302 and module 316 is acceptable can be determined in different manners, such as based on a particular estimated accuracy that position determination module 314 is configured to use. Module 314 can be configured with this particular estimated accuracy in different manners, such as being pre-configured in module 314, being set by a user of device 300, being obtained from another source, and so forth. If the estimated accuracy of the position determined by at least one of module 302 and module 316 satisfies (e.g., is less than or equal to) the particular estimated accuracy, then the estimated accuracy of the position determined by at least one of module 302 and 316 is acceptable. However, if the estimated accuracy of the position determined by at least one of module 302 and module 316 does not satisfy (e.g., is not less than or equal to) the particular estimated accuracy, then the estimated accuracy of the position determined by at least one of module 302 and 316 is not acceptable.


Typically, as device 300 is moved into a dead zone, dead reckoning position module 316 determines a position of device 300 with a better (more accurate) estimated accuracy than GNSS module 302 determines for device 300. When comparing estimated accuracies, smaller values are typically better estimated accuracies (e.g., an estimate of being accurate within 3 meters is better than an estimate of being accurate within 8 meters), although depending on the manner in which estimated accuracies are specified larger or other values can be better estimated accuracies. Thus, as device 300 is moved into a dead zone, position determination module 314 typically determines as the position of device 300 the position determined by dead reckoning position module 316 until the module 316 no longer provides an acceptable estimated accuracy (e.g., due to drift as discussed above). This duration for which dead reckoning position module 316 provides an acceptable estimated accuracy is also referred to as a dead reckoning fidelity interval.


It should also be noted that beacons can optionally be placed at various positions within a dead zone. A variety of different types of beacons can be used, analogous to the discussion above regarding anchor locations. Position determination module 314 can identify these beacons and dead reckoning position module 316 can use the position identified by such a beacon as the known starting position of device 300 for dead reckoning. For example, the inertial sensors can be reset (e.g., turned off and back on) to use the position identified by the beacon as the known starting position of device 300. Dead reckoning position module 316 can then continue to determine, based on data from inertial sensor module 308, the position of device 300 from the position identified by the beacon (analogous to module 302 determining the position of device 300 from an anchor location). The dead reckoning fidelity interval can thus effectively be extended each time such a beacon is encountered.


Situations can arise in which neither GNSS module 302 nor dead reckoning position module 316 determine a position of device 300 with an acceptable estimated accuracy. In such situations, data collection module 310 can optionally stop recording the observation data and the corresponding position of device 300. If at a later time at least one of GNSS module 302 and dead reckoning position module 316 determines a position of device 300 with an acceptable estimated accuracy, data collection module 310 resumes recording the observation data and the corresponding position of device 300.


Alternatively, data collection module 310 can continue to record the observation data and the corresponding position of device 300 as determined by dead reckoning position module 316. This recorded observation data and corresponding position can be stored or marked in data store 320 in a manner to indicate that the recorded observation data and corresponding position is based on a determined position of device 300 that does not have an acceptable estimated accuracy. In one or more embodiments, data transfer module 318 does not send to a data service the recorded observation data and corresponding position based on a position of device 300 that does not have an acceptable estimated accuracy.


Subsequently, when a position of device 300 is determined that does have an acceptable estimated accuracy, backtracking module 312 compares that position with the acceptable estimated accuracy to the recorded positions, and modifies at least some of the recorded positions. The position of device 300 that does have an acceptable estimated accuracy can be obtained in various manners, such as from a beacon at the edge of a dead zone or within a dead zone, from GNSS module 302, and so forth. The modified recorded positions and corresponding observation data can subsequently be stored or marked to no longer indicate they are based on a determined position of device 300 that does not have an acceptable estimated accuracy, and thus can be sent to a data service by data transfer module 318.


Alternatively, rather than recording the observation data and corresponding position of device 300, data collection module 310 can record the data collected by inertial sensor module 308 when neither GNSS module 302 nor dead reckoning position module 316 determine a position of device 300 with an acceptable estimated accuracy. Subsequently, when a position of device 300 can be determined that does have an acceptable estimated accuracy, backtracking module 312 can use the recorded data from inertial sensor module 308 to perform the backtracking. Thus, when neither GNSS module 302 nor dead reckoning position module 316 can determine a position of device 300 with an acceptable estimated accuracy, a position of device 300 need not be determined until a position with an acceptable estimated accuracy can be determined.


In one or more embodiments, backtracking module 312 backtracks from the position that does have an acceptable estimated accuracy for the dead reckoning fidelity interval. In one or more embodiments, backtracking module 312 performs backtracking by starting at the position that has an acceptable estimated accuracy. Module 312 then works backwards through the inertial sensor data collected by inertial sensor module 308 and recorded in data store 320 that leads up to that position, providing the inertial sensor data recorded in data store 320 (starting at the position that has the acceptable estimated accuracy, so the data is provided in the opposite order in which it was collected by inertial sensor module 308) to dead reckoning position module 316. Module 316 determines a position of device 300 based on the inertial sensor data provided by backtracking module 312 as discussed above. Module 312 thus effectively treats the device as moving backwards (e.g., until the determined position of device 300 does not have an acceptable estimated accuracy) based on the collected inertial sensor data.


Backtracking module 312 can perform the backtracking using a variety of different conventional and/or proprietary algorithms, rules, criteria, and so forth. For example, backtracking module 312 can modify the positions for the dead reckoning fidelity interval to follow approximately the same path shape as was recorded by data collection module 310, except backtracking starting at the position that has the acceptable estimated accuracy rather than the recorded position.



FIG. 6 illustrates an example use of backtracking in accordance with one or more embodiments. A dead zone 602 is illustrated in FIG. 6, analogous to dead zone 502 of FIG. 5 or dead zone 402 of FIG. 4, although without an open area analogous to open area 510 of FIG. 5 or open area 410 of FIG. 4. Multiple beacons 604, 606, and 608 are illustrated, analogous to beacons 520-528 of FIG. 5.


A path 612 is included in FIG. 6, illustrating a path of a device as the device enters dead zone 602. Dead reckoning (e.g., dead reckoning position module 316 of FIG. 3) is used to determine positions of the device for a dead reckoning fidelity interval, which lasts until a point 614. At point 614, the position determined by dead reckoning no longer has an acceptable estimated accuracy. However, dead reckoning continues to be performed, identifying positions indicating a path 616. Positions and corresponding observation data continue to be recorded along path 616. In response to receiving a signal from beacon 606, a module of the device (e.g., position determination module 314 of FIG. 3) detects that the position of the device as determined based on the signal from beacon 606 is not the same position as the position determined by dead reckoning (along path 616). Accordingly, a backtracking module (e.g., module 312 of FIG. 3) modifies the recorded positions to reflect a path 618 rather than path 616. These positions along paths 612 and 618, and corresponding observation data can be sent to a data service (e.g., by data transfer module 318 of FIG. 3).


Alternatively, rather than recording positions and corresponding observation data along path 616, observation data that would result in positions indicating path 616 is recorded (corresponding positions need not be identified). In response to receiving a signal from beacon 606 (which provides a position with an acceptable estimated accuracy), a backtracking module (e.g., module 312 of FIG. 3) works backwards through the recorded observation data to identify the path 618.


Returning to FIG. 3, in one or more embodiments inertial sensor module 308 is deactivated or powered down (e.g., in response to a signal from position determination module 314) when device 300 is not within a dead zone. Inertial sensor module 308 is then activated or powered on in response to device 300 being detected as being at one of one or more anchor locations. Inertial sensor module 308 can remain activated or powered on until device 300 is no longer detected as being within the dead zone or at an anchor location, at which time inertial sensor module 308 is deactivated or powered down. When device 300 is no longer within a dead zone can be detected in different manners, such as based on whether GNSS module 302 provides a position of device 300 that has an acceptable estimated accuracy, in response to detecting another anchor location while in or having just been in a dead zone (e.g., an anchor location that indicates device 300 is leaving the dead zone), and so forth. Positions of device 300 are then determined as the position detected by GNSS module 302 as discussed above. A delay time (e.g., a particular number of seconds or minutes) can optionally be implemented so that inertial sensor module 308 is not deactivated or powered down until a threshold amount of time (the delay amount of time) has elapsed after device 300 is no longer detected as being within the dead zone or at an anchor location (and device 300 is still detected as not being within the dead zone or at an anchor location when the threshold amount of time elapses). Various other factors can also be used to determine when to deactivate or power down inertial sensor module 308, such as whether GNSS module 302 provides a position of device 300 that has an acceptable estimated accuracy.


Alternatively, inertial sensor module 308 can be deactivated or powered down after the dead reckoning fidelity interval has elapsed. Inertial sensor module 308 can optionally be again powered on or activated in response to different events, such as receiving a signal received from a beacon, detecting that the device is again at an anchor location, and so forth.


In one or more embodiments, GNSS module 302 is deactivated or powered down (e.g., in response to a signal from position determination module 314) when device 300 is within a dead zone. GNSS module 302 can then be activated or powered on (e.g., in response to a signal from position determination module 314) when device 300 is no longer within the dead zone (e.g., as determined by the position of device 300 using dead reckoning, as determined by detecting device 300 is at one of one or more anchor locations, and so forth). Alternatively, rather than being deactivated or powered down, GNSS module 302 can be configured (e.g., in response to a signal from position determination module 314) to determine the position of device 300 at larger intervals when device 300 is within a dead zone than when device 300 is not within a dead zone. For example, position determination module 314 can indicate to GNSS module 302 to determine the position of device 300 every 1 second when device 300 is not within a dead zone, and every 10 seconds when device 300 is within a dead zone.



FIG. 7 is a flowchart illustrating an example process 700 for crowd sourcing based on dead reckoning in accordance with one or more embodiments. Process 700 is carried out by a device, such as device 102 of FIG. 1 or device 300 of FIG. 3, and can be implemented in software, firmware, hardware, or combinations thereof. Process 700 is shown as a set of acts and is not limited to the order shown for performing the operations of the various acts. Process 700 is an example process for crowd sourcing based on dead reckoning; additional discussions of crowd sourcing based on dead reckoning are included herein with reference to different figures.


In process 700, the device is identified as being at an anchor location (act 702). An anchor location can be identified in different manners, such as a location within a proximity zone along an edge of a dead zone or a location where a signal from a beacon is detected as discussed above.


Recording crowd sourcing data based on dead reckoning starts in response to the device being at the anchor location (act 704). The starting of recording crowd sourcing data can include powering on or activating one or more inertial sensors from which data is collected for dead reckoning.


Crowd sourcing data based on dead reckoning is recorded (act 706). This data is recorded by the device implementing process 700 and can be sent to a crowd sourcing data service at a subsequent time, as discussed above.


Recording crowd sourcing data based on dead reckoning includes identifying one or more signal received at the device implementing process 700 while the device is at a particular position (act 708), and recording both an indication of the position and an indication of the one or more signals received while the device is at that position (act 710). The signals received can be Wi-Fi and/or cell transceiver signals as discussed above, and the indication of the one or more signals can include an identifier of a network, access point, or transceiver, as well as strengths of received signals, as discussed above. The position is determined using dead reckoning, as discussed above. Acts 708 and 710 are repeated for each of multiple different positions.



FIG. 8 is a flowchart illustrating an example process 800 for activating and deactivating inertial sensors for dead reckoning in accordance with one or more embodiments. Process 800 is carried out by a device, such as device 102 of FIG. 1 or device 300 of FIG. 3, and can be implemented in software, firmware, hardware, or combinations thereof. Process 800 is shown as a set of acts and is not limited to the order shown for performing the operations of the various acts. Process 800 is an example process for activating and deactivating inertial sensors for dead reckoning; additional discussions of activating and deactivating inertial sensors for dead reckoning are included herein with reference to different figures.


In process 800, the device is identified as being at an anchor location (act 802). An anchor location can be identified in different manners, such as a location within a proximity zone along an edge of a dead zone or a location where a signal from a beacon is detected as discussed above.


A determination is made, based at least in part on the device being at the anchor location, whether and/or when to activate and/or deactivate one or more inertial sensors (act 804). This determination can be based on various factors, such as whether the inertial sensors are already activated or deactivated, whether the device has moved away from an anchor location for which a determination in act 804 has been made, how long the inertial sensors have been activated, and so forth. For example, the determination can be made in act 804 to activate one or more inertial sensors if the inertial sensors are currently deactivated and the device is identified as being at the anchor location. By way of another example, the determination can be made in act 804 to deactivate one or more inertial sensors a particular amount of time (e.g., a dead reckoning fidelity interval) after the device is identified as being at the anchor location. By way of yet another example, the determination can be made in act 804 to deactivate one or more inertial sensors if the inertial sensors are currently activated and the device is identified as being at the anchor location.


In response to a determination being made to activate the inertial sensors, one or more inertial sensors are activated (act 806). Data is collected from the one or more inertial sensors and used to determine a device position using dead reckoning (act 808). Both an indication of the determined position and an identification of one or more signals received while the device is at that position can be recorded as discussed above.


In response to a determination being made to deactivate the inertial sensors, one or more inertial sensors are deactivated (act 810). The inertial sensors can be deactivated shortly after the determination is made in act 804 (e.g., within 1 second), or alternatively after delay occurs (e.g., a particular amount of time elapses, the device implementing process 800 moves a particular distance, and so forth).


The activating and deactivating of sensors for dead reckoning techniques discussed herein support various usage scenarios. For example, a user can carry a device with him or her and that device can repeatedly record the position of the device and corresponding Wi-Fi and cell transceiver signals (and signal strengths) received at that position. While the user is outside and the device can receive signals from GNSS satellites, a GNSS module of the device is used to determine the position of the device. When the user walks into a dead zone (e.g., near a building, such as a mall) and the device can no longer receive signals from GNSS satellites, the position of the device is determined using dead reckoning. Thus, the user's device is able to record data regarding the positions of the device and corresponding Wi-Fi and cell transceiver signals (and signal strengths) received at those positions within the dead zone, even though signals from GNSS satellites are not received. This recorded data can be provided by the device to a crowd sourcing data service, making information regarding Wi-Fi and cell transceiver signals and signal strengths received at positions at which signals from GNSS satellites are not received available to the crowd sourcing data service. When the user subsequently exits the dead zone (e.g., leaves the building), the device can resume using the GNSS module to determine the position of the device.


By way of another example, a user can carry a device with him or her and that device can repeatedly record the position of the device and corresponding Wi-Fi and cell transceiver signals (and signal strengths) received at that position. While the user is outside and the device can receive signals from GNSS satellites, a GNSS module of the device is used to determine the position of the device and inertial sensors of the device are not activated to conserve energy. When the user walks near a dead zone (e.g., inside a building, such as a mall), the inertial sensors of the device are activated to allow positions of the device to be determined using dead reckoning. If the user walks into the dead zone, the position of the device is determined using dead reckoning. However, if the user walks away from the dead zone, the inertial sensors can be deactivated, and the position of the device continues to be determined by the GNSS module.


Various actions such as communicating, receiving, sending, recording, storing, obtaining, and so forth performed by various modules are discussed herein. A particular module discussed herein as performing an action includes that particular module itself performing the action, or alternatively that particular module invoking or otherwise accessing another component or module that performs the action (or performs the action in conjunction with that particular module). Thus, a particular module performing an action includes that particular module itself performing the action and/or another module invoked or otherwise accessed by that particular module performing the action.



FIG. 9 illustrates an example computing device 900 that can be configured to implement the activating and deactivating of sensors for dead reckoning in accordance with one or more embodiments. Computing device 900 can, for example, be a computing device 102 of FIG. 1, implement at least part of crowd sourcing data service 104 of FIG. 1, be a device 300 of FIG. 3, and so forth.


Computing device 900 includes one or more processors or processing units 902, one or more computer readable media 904 which can include one or more memory and/or storage components 906, one or more input/output (I/O) devices 908, and a bus 910 that allows the various components and devices to communicate with one another. Computer readable media 904 and/or one or more I/O devices 908 can be included as part of, or alternatively may be coupled to, computing device 900. Bus 910 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or local bus, and so forth using a variety of different bus architectures. Bus 910 can include wired and/or wireless buses.


Memory/storage component 906 represents one or more computer storage media. Component 906 can include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). Component 906 can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a Flash memory drive, a removable hard drive, an optical disk, and so forth).


The techniques discussed herein can be implemented in software, with instructions being executed by one or more processing units 902. It is to be appreciated that different instructions can be stored in different components of computing device 900, such as in a processing unit 902, in various cache memories of a processing unit 902, in other cache memories of device 900 (not shown), on other computer readable media, and so forth. Additionally, it is to be appreciated that where instructions are stored in computing device 900 can change over time.


One or more input/output devices 908 allow a user to enter commands and information to computing device 900, and also allow information to be presented to the user and/or other components or devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, and so forth.


Various techniques may be described herein in the general context of software or program modules. Generally, software includes routines, programs, applications, objects, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. An implementation of these modules and techniques may be stored on or transmitted across some form of computer readable media. Computer readable media can be any available medium or media that can be accessed by a computing device. By way of example, and not limitation, computer readable media may comprise “computer storage media” and “communication media.”


“Computer storage media” include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Computer storage media refer to media for storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer storage media refers to non-signal bearing media, and is not communication media.


“Communication media” typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier wave or other transport mechanism. Communication media also include any information delivery media. 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, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also included within the scope of communication media.


Generally, any of the functions or techniques described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module” and “component” as used herein generally represent software, firmware, hardware, or combinations thereof. In the case of a software implementation, the module or component represents program code that performs specified tasks when executed on a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices, further description of which may be found with reference to FIG. 9. In the case of hardware implementation, the module or component represents a functional block or other hardware that performs specified tasks. For example, in a hardware implementation the module or component can be an application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), complex programmable logic device (CPLD), and so forth. The features of the activating and deactivating of sensors for dead reckoning techniques described herein are platform-independent, meaning that the techniques can be implemented on a variety of commercial computing platforms having a variety of processors.


Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims
  • 1. A mobile device comprising: an inertial sensor configured to provide inertial sensor data;a processing device; anda storage device storing computer-executable instructions which, when executed by the processing device, cause the processing device to:identify that the mobile device is within an entrance anchor location associated with a dead zone;activate the inertial sensor in response to arrival of the mobile device at the entrance anchor location;identify that the mobile device is within an exit anchor location associated with the dead zone;determine that the mobile device has moved a particular distance away from the exit anchor location; anddeactivate the inertial sensor in response to determining that the mobile device has moved the particular distance away from the exit anchor location and has not re-entered the dead zone.
  • 2. The mobile device of claim 1, wherein the computer-executable instructions further cause the processing device to: determine the particular distance away from the exit anchor location based at least in part on a speed at which the mobile device is moving.
  • 3. The mobile device of claim 2, wherein the computer-executable instructions further cause the processing device to: in a first instance where the mobile device is moving at a relatively greater speed, select a longer particular distance away from the exit anchor location; andin a second instance where the mobile device is moving at a relatively slower speed, select a shorter particular distance away from the exit anchor location.
  • 4. The mobile device of claim 1, wherein the entrance anchor location and the exit anchor location comprise the same anchor location.
  • 5. A mobile device comprising: an inertial sensor configured to provide inertial sensor data;a processing device; anda storage device storing computer-executable instructions which, when executed by the processing device, cause the processing device to:identify that the mobile device is at a first anchor location, the first anchor location being associated with a proximity zone of a dead zone;activate the inertial sensor in response to the mobile device being at the first anchor location;collect data from the inertial sensor to determine a position of the mobile device using dead reckoning;identify when the mobile device is at a second anchor location, the second anchor location being associated with the proximity zone of the dead zone or with a second proximity zone of the dead zone;determine that the mobile device has left the dead zone; andprovided a threshold amount of time has lapsed after the mobile device arrived at the second anchor location, deactivate the inertial sensor.
  • 6. The mobile device of claim 5, wherein the computer-executable instructions further cause the processing device to: determine that the threshold amount of time has lapsed; anddetermine that the mobile device has not re-entered the dead zone.
  • 7. The mobile device of claim 5, wherein the computer-executable instructions further cause the processing device to: deactivate the inertial sensor in response to determining that the mobile device has moved a particular distance away from the second anchor location and that the mobile device has not re-entered the dead zone.
  • 8. The mobile device of claim 5, wherein the computer-executable instructions further cause the processing device to: obtain a global navigation satellite system (GNSS) position from a GNSS of the mobile device.
  • 9. The mobile device of claim 8, wherein the computer-executable instructions further cause the processing device to: determine whether the position of the mobile device determined using dead reckoning is more accurate than the GNSS position of the mobile device.
  • 10. The mobile device of claim 9, wherein the computer-executable instructions further cause the processing device to: deactivate the GNSS in response to determining that the position of the mobile device determined using dead reckoning is more accurate than the GNSS position of the mobile device.
  • 11. The mobile device of claim 10, wherein the computer-executable instructions further cause the processing device to: reactivate the GNSS in response to determining that the mobile device has exited the dead zone.
  • 12. The mobile device of claim 9, wherein the computer-executable instructions further cause the processing device to: increase a time interval at which the GNSS collects additional GNSS positions in response to determining that the position of the mobile device determined using dead reckoning is more accurate than the GNSS position of the mobile device.
  • 13. The mobile device of claim 9, wherein the computer-executable instructions further cause the processing device to: associate the position of the mobile device determined using dead reckoning with crowd sourcing data when the position of the mobile device determined using dead reckoning is more accurate than the GNSS position of the mobile device.
  • 14. The mobile device of claim 5, wherein the position comprises a latitude and a longitude estimation of the mobile device.
  • 15. A method comprising: identifying that a device is within an entrance anchor location associated with a dead zone;activating an inertial sensor of the device in response to arrival of the device at the entrance anchor location;identifying that the device has passed through an exit anchor location associated with the dead zone and is no longer within the dead zone;determining that the device has moved a particular distance away from the exit anchor location; anddeactivating the inertial sensor in response to the device having moved the particular distance away from the exit anchor location and no longer being within the dead zone.
  • 16. The method of claim 15, further comprising deactivating the inertial sensor based at least in part on a threshold amount of time having lapsed after the device exited the dead zone.
  • 17. The method of claim 15, further comprising determining the particular distance away from the exit anchor location based at least in part on a speed of the device.
  • 18. The method of claim 15, further comprising collecting data from the inertial sensor to determine a position of the device using dead reckoning.
  • 19. The method of claim 15, further comprising deactivating the inertial sensor in response to determining that a current position of the device with an acceptable estimated accuracy is available without using the inertial sensor.
  • 20. The method of claim 15, performed by the device.
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of, and claims priority to, U.S. patent application Ser. No. 13/183,050, filed on Jul. 14, 2011, which is incorporated herein by reference in its entirety.

US Referenced Citations (389)
Number Name Date Kind
4357593 von Tomkewitsch Nov 1982 A
4796191 Honey et al. Jan 1989 A
4949268 Nishikawa et al. Aug 1990 A
5394333 Kao Feb 1995 A
5493692 Theimer et al. Feb 1996 A
5544321 Theimer et al. Aug 1996 A
5555376 Theimer et al. Sep 1996 A
5564079 Olsson Oct 1996 A
5592173 Lau et al. Jan 1997 A
5603054 Theimer et al. Feb 1997 A
5611050 Theimer et al. Mar 1997 A
5623194 Boll et al. Apr 1997 A
5629855 Kyrtsos et al. May 1997 A
5781704 Rossmo Jul 1998 A
5812865 Theimer et al. Sep 1998 A
5842130 Oprescu-Surcobe Nov 1998 A
5845227 Peterson Dec 1998 A
5883598 Pad et al. Mar 1999 A
5943621 Ho et al. Aug 1999 A
5948040 DeLorme et al. Sep 1999 A
5978732 Kakitani et al. Nov 1999 A
6052598 Radrapatna et al. Apr 2000 A
6078826 Croft et al. Jun 2000 A
6116363 Frank Sep 2000 A
6122572 Yavnai Sep 2000 A
6175805 Abe Jan 2001 B1
6292687 Lowell et al. Sep 2001 B1
6313786 Sheynblat et al. Nov 2001 B1
6314347 Kuroda et al. Nov 2001 B1
6323807 Golding et al. Nov 2001 B1
6353398 Amin et al. Mar 2002 B1
6381522 Watanabe et al. Apr 2002 B1
6405134 Smith et al. Jun 2002 B1
6418424 Hoffberg et al. Jul 2002 B1
6466232 Newell et al. Oct 2002 B1
6480783 Myr Nov 2002 B1
6490519 Lapidot et al. Dec 2002 B1
6513046 Abbott, III et al. Jan 2003 B1
6522266 Soehren et al. Feb 2003 B1
6549915 Abbott et al. Apr 2003 B2
6556832 Soliman Apr 2003 B1
6564149 Lai May 2003 B2
6574351 Miyano Jun 2003 B1
6577946 Myr Jun 2003 B2
6603405 Smith Aug 2003 B2
6615130 Myr Sep 2003 B2
6668227 Hamada et al. Dec 2003 B2
6672506 Swart et al. Jan 2004 B2
6678525 Baranger et al. Jan 2004 B1
6721572 Smith et al. Apr 2004 B1
6741188 Miller et al. May 2004 B1
6747675 Abbott et al. Jun 2004 B1
D494584 Schlieffers et al. Aug 2004 S
6791580 Abbott et al. Sep 2004 B1
6796505 Pellaumail et al. Sep 2004 B2
6799047 Bahl et al. Sep 2004 B1
6801223 Abbott et al. Oct 2004 B1
6807483 Chao et al. Oct 2004 B1
6810325 Amano et al. Oct 2004 B2
6812937 Abbott et al. Nov 2004 B1
6837436 Swartz et al. Jan 2005 B2
6842877 Robarts et al. Jan 2005 B2
6845324 Smith Jan 2005 B2
RE38724 Peterson Apr 2005 E
6889382 Anderson May 2005 B1
6925378 Tzamaloukas Aug 2005 B2
6992625 Krumm et al. Jan 2006 B1
7010501 Roslak et al. Mar 2006 B1
7040541 Swartz et al. May 2006 B2
7054938 Sundqvist et al. May 2006 B2
7058506 Kawase et al. Jun 2006 B2
7063263 Swartz et al. Jun 2006 B2
7084762 Pedrazzini et al. Aug 2006 B2
7096030 Huomo Aug 2006 B2
7116987 Spain et al. Oct 2006 B2
7116988 Dietrich et al. Oct 2006 B2
7127213 Haymes et al. Oct 2006 B2
7130743 Kudo et al. Oct 2006 B2
7161914 Shoaib et al. Jan 2007 B2
7162367 Lin et al. Jan 2007 B2
7171378 Petrovich et al. Jan 2007 B2
7188025 Hudson, Jr. Mar 2007 B2
7195157 Swartz et al. Mar 2007 B2
7200394 Aoki et al. Apr 2007 B2
7215969 Benco et al. May 2007 B2
7233861 Van Buer et al. Jun 2007 B2
7250907 Krumm et al. Jul 2007 B2
7299059 Misikangas et al. Nov 2007 B2
7321774 Lau et al. Jan 2008 B1
7349683 Misikangas et al. Mar 2008 B2
7359713 Tiwari Apr 2008 B1
7385501 Miller et al. Jun 2008 B2
7392134 Tauchi et al. Jun 2008 B2
7433696 Dietrich et al. Oct 2008 B2
7463890 Herz et al. Dec 2008 B2
7512462 Nichols et al. Mar 2009 B2
7565157 Ortega et al. Jul 2009 B1
7590589 Hoffberg Sep 2009 B2
7617042 Horvitz et al. Nov 2009 B2
7630986 Herz et al. Dec 2009 B1
7636707 Chaudhuri et al. Dec 2009 B2
7698055 Horvitz et al. Apr 2010 B2
7705728 Mock et al. Apr 2010 B2
7706964 Horvitz et al. Apr 2010 B2
7739040 Horvitz Jun 2010 B2
7778440 Malone Aug 2010 B2
7796944 Eaton et al. Sep 2010 B2
7796966 Bhattacharya et al. Sep 2010 B2
7813870 Downs et al. Oct 2010 B2
7835863 Lokshin Nov 2010 B2
7840340 Graham et al. Nov 2010 B2
7856234 Alizadeh-Shabdiz et al. Dec 2010 B2
7864048 Cope et al. Jan 2011 B1
7873368 Goren Jan 2011 B2
7899611 Downs et al. Mar 2011 B2
7912628 Chapman et al. Mar 2011 B2
7925426 Koebler et al. Apr 2011 B2
7961651 Kim et al. Jun 2011 B2
7962156 Robertson Jun 2011 B2
7991718 Horvitz et al. Aug 2011 B2
8024112 Krumm et al. Sep 2011 B2
8090530 Horvitz Jan 2012 B2
8126641 Horvitz Feb 2012 B2
8155872 Kjeldsen et al. Apr 2012 B2
8165773 Chavez et al. Apr 2012 B1
8174447 Loidl et al. May 2012 B2
8180366 Ernst et al. May 2012 B2
8190362 Barker et al. May 2012 B2
8228234 Paulson et al. Jul 2012 B2
8244272 Morgan et al. Aug 2012 B2
8255275 Collopy et al. Aug 2012 B2
8260481 Naik et al. Sep 2012 B2
8311730 Neff Nov 2012 B2
8320939 Vincent Nov 2012 B1
8433334 Huang et al. Apr 2013 B2
8433512 Lopatenko et al. Apr 2013 B1
8443662 Lane et al. May 2013 B2
8463545 Boore et al. Jun 2013 B2
8484113 Collopy et al. Jul 2013 B2
8519860 Johnson et al. Aug 2013 B2
8532670 Kim et al. Sep 2013 B2
8538686 Gruen et al. Sep 2013 B2
8560218 Kahn et al. Oct 2013 B1
8565783 Yang et al. Oct 2013 B2
8566029 Lopatenko et al. Oct 2013 B1
8589065 Scofield et al. Nov 2013 B2
8620692 Collopy et al. Dec 2013 B2
8639803 Moritz et al. Jan 2014 B2
8712931 Wahlen Apr 2014 B1
8751146 Shrivathsan et al. Jun 2014 B2
8762053 Lehman Jun 2014 B1
8788606 Johnson et al. Jul 2014 B2
8825381 Tang Sep 2014 B2
8898002 Barrett et al. Nov 2014 B2
8981995 Schlesinger et al. Mar 2015 B2
8990333 Johnson et al. Mar 2015 B2
9134137 Brush et al. Sep 2015 B2
9310462 Chintalapudi et al. Apr 2016 B2
20010029425 Myr Oct 2001 A1
20010030664 Shulman et al. Oct 2001 A1
20010040590 Abbott et al. Nov 2001 A1
20010040591 Abbott et al. Nov 2001 A1
20010043231 Abbott et al. Nov 2001 A1
20010043232 Abbott et al. Nov 2001 A1
20020032689 Abbott, III et al. Mar 2002 A1
20020044152 Abbott, III et al. Apr 2002 A1
20020050944 Sheynblat et al. May 2002 A1
20020052930 Abbott et al. May 2002 A1
20020052963 Abbott et al. May 2002 A1
20020054130 Abbott et al. May 2002 A1
20020054174 Abbott et al. May 2002 A1
20020067289 Smith Jun 2002 A1
20020078204 Newell et al. Jun 2002 A1
20020080155 Abbott et al. Jun 2002 A1
20020080156 Abbott et al. Jun 2002 A1
20020083025 Robarts et al. Jun 2002 A1
20020083158 Abbott et al. Jun 2002 A1
20020087525 Abbott et al. Jul 2002 A1
20020099817 Abbott et al. Jul 2002 A1
20020107618 Deguchi et al. Aug 2002 A1
20030036842 Hancock Feb 2003 A1
20030042051 Kriger Mar 2003 A1
20030046401 Abbott et al. Mar 2003 A1
20030069683 Lapidot et al. Apr 2003 A1
20030135304 Sroub et al. Jul 2003 A1
20030139863 Toda et al. Jul 2003 A1
20030140088 Robinson et al. Jul 2003 A1
20030153338 Herz et al. Aug 2003 A1
20030154009 Basir et al. Aug 2003 A1
20030154476 Abbott, III et al. Aug 2003 A1
20030195700 Hamada et al. Oct 2003 A1
20030229471 Guralnik et al. Dec 2003 A1
20030229895 Jasinschi et al. Dec 2003 A1
20040019603 Haigh et al. Jan 2004 A1
20040068364 Zhao et al. Apr 2004 A1
20040090121 Simonds et al. May 2004 A1
20040090346 Simonds et al. May 2004 A1
20040092253 Simonds et al. May 2004 A1
20040093154 Simonds et al. May 2004 A1
20040093155 Simonds et al. May 2004 A1
20040128066 Kudo et al. Jul 2004 A1
20040153445 Horvitz et al. Aug 2004 A1
20040166877 Spain et al. Aug 2004 A1
20040167667 Gonsalves et al. Aug 2004 A1
20040176211 Katajima et al. Sep 2004 A1
20040180671 Spain Sep 2004 A1
20040181340 Smith Sep 2004 A1
20040189475 Cooper et al. Sep 2004 A1
20040201500 Miller et al. Oct 2004 A1
20040230374 Tzamaloukas Nov 2004 A1
20040260457 Kawase et al. Dec 2004 A1
20040266457 Dupray Dec 2004 A1
20040268403 Krieger et al. Dec 2004 A1
20050021417 Kassan Jan 2005 A1
20050034078 Abbott et al. Feb 2005 A1
20050037775 Moeglein et al. Feb 2005 A1
20050046584 Breed Mar 2005 A1
20050048946 Holland Mar 2005 A1
20050049900 Hirose et al. Mar 2005 A1
20050062643 Pande et al. Mar 2005 A1
20050086004 Smith Apr 2005 A1
20050107946 Shimizu et al. May 2005 A1
20050125148 Van Buer et al. Jun 2005 A1
20050131607 Breed Jun 2005 A1
20050144318 Chang Jun 2005 A1
20050149253 Nambata Jul 2005 A1
20050197775 Smith Sep 2005 A1
20050219120 Chang Oct 2005 A1
20050228553 Tyron Oct 2005 A1
20050240378 Smith et al. Oct 2005 A1
20050261004 Dietrich et al. Nov 2005 A1
20050266858 Miller et al. Dec 2005 A1
20050272442 Miller et al. Dec 2005 A1
20050283503 Hancock et al. Dec 2005 A1
20050285793 Sugar et al. Dec 2005 A1
20060015254 Smith Jan 2006 A1
20060019676 Miller et al. Jan 2006 A1
20060022048 Johnson Feb 2006 A1
20060052115 Khushu Mar 2006 A1
20060167784 Hoffberg Jul 2006 A1
20060200310 Kim et al. Sep 2006 A1
20060241862 Ichihara et al. Oct 2006 A1
20060256005 Thandu et al. Nov 2006 A1
20060264211 Kalhan et al. Nov 2006 A1
20060284765 Bemhardt et al. Dec 2006 A1
20060286988 Blume et al. Dec 2006 A1
20060287813 Quigley Dec 2006 A1
20070008927 Herz et al. Jan 2007 A1
20070042790 Mohi et al. Feb 2007 A1
20070073832 Curtis et al. Mar 2007 A1
20070091037 Lee Apr 2007 A1
20070106465 Adam et al. May 2007 A1
20070115174 Herrick May 2007 A1
20070179792 Kramer Aug 2007 A1
20070208495 Chapman et al. Sep 2007 A1
20070225937 Spiesberger Sep 2007 A1
20070287473 Dupray Dec 2007 A1
20080005172 Gutmann Jan 2008 A1
20080018529 Yoshioka Jan 2008 A1
20080070593 Altman et al. Mar 2008 A1
20080077326 Funk Mar 2008 A1
20080090591 Miller et al. Apr 2008 A1
20080091537 Miller et al. Apr 2008 A1
20080104225 Zhang et al. May 2008 A1
20080129598 Godefroy et al. Jun 2008 A1
20080161018 Miller et al. Jul 2008 A1
20080180637 Kjeldsen et al. Jul 2008 A1
20080191941 Saban et al. Aug 2008 A1
20080234935 Wolf et al. Sep 2008 A1
20080248815 Busch Oct 2008 A1
20080249667 Horvitz et al. Oct 2008 A1
20080262728 Lokshin et al. Oct 2008 A1
20080268870 Houri Oct 2008 A1
20080305808 Chan et al. Dec 2008 A1
20080311947 Soerensen et al. Dec 2008 A1
20080319658 Horvitz et al. Dec 2008 A1
20080319660 Horvitz et al. Dec 2008 A1
20090005061 Ward et al. Jan 2009 A1
20090005975 Forstall et al. Jan 2009 A1
20090009397 Taylor Jan 2009 A1
20090043504 Bandyopadhyay et al. Feb 2009 A1
20090051566 Olsen et al. Feb 2009 A1
20090063038 Shrivathsan et al. Mar 2009 A1
20090143082 Begaja et al. Jun 2009 A1
20090149155 Grossman Jun 2009 A1
20090177437 Roumeliotis Jul 2009 A1
20090184849 Nasiri et al. Jul 2009 A1
20090191892 Kelley Jul 2009 A1
20090192709 Yonker Jul 2009 A1
20090201896 Davis et al. Aug 2009 A1
20090248301 Peh et al. Oct 2009 A1
20090312032 Bornstein Dec 2009 A1
20100010733 Krumm et al. Jan 2010 A1
20100039929 Cho Feb 2010 A1
20100070334 Monteverde Mar 2010 A1
20100079332 Garen Apr 2010 A1
20100079334 Roh et al. Apr 2010 A1
20100082247 Klein et al. Apr 2010 A1
20100087230 Peh et al. Apr 2010 A1
20100090899 Ahao et al. Apr 2010 A1
20100097269 Loidl et al. Apr 2010 A1
20100106603 Dey et al. Apr 2010 A1
20100127926 Wang May 2010 A1
20100131308 Collopy et al. May 2010 A1
20100153007 Crowley Jun 2010 A1
20100156708 Chen Jun 2010 A1
20100161179 McClure et al. Jun 2010 A1
20100174479 Golding et al. Jul 2010 A1
20100176992 T'siobbel Jul 2010 A1
20100185388 Horvitz Jul 2010 A1
20100231383 Levine et al. Sep 2010 A1
20100250133 Buros Sep 2010 A1
20100250727 King et al. Sep 2010 A1
20100255856 Kansal et al. Oct 2010 A1
20100255858 Juhasz Oct 2010 A1
20100310071 Malone et al. Dec 2010 A1
20100323715 Winders et al. Dec 2010 A1
20100324813 Sundararajan et al. Dec 2010 A1
20100324815 Hiruta et al. Dec 2010 A1
20100332125 Tan et al. Dec 2010 A1
20110035142 Tang Feb 2011 A1
20110039573 Hardie Feb 2011 A1
20110050493 Tormoto et al. Mar 2011 A1
20110071759 Pande et al. Mar 2011 A1
20110191024 DeLuca Apr 2011 A1
20110148623 Bishop et al. Jun 2011 A1
20110151839 Bolan et al. Jun 2011 A1
20110151898 Chandra et al. Jun 2011 A1
20110163914 Seymour Jul 2011 A1
20110169632 Walker et al. Jul 2011 A1
20110178708 Zhang et al. Jul 2011 A1
20110182238 Marshall et al. Jul 2011 A1
20110184644 McBurney Jul 2011 A1
20110191052 Lin et al. Aug 2011 A1
20110197200 Huang et al. Aug 2011 A1
20110207471 Murray et al. Aug 2011 A1
20110208430 Tun et al. Aug 2011 A1
20110212732 Garrett et al. Sep 2011 A1
20110238289 Lehmann et al. Sep 2011 A1
20110238308 Miller et al. Sep 2011 A1
20110246059 Tokashiki Oct 2011 A1
20110270940 Johnson Nov 2011 A1
20110282571 Krumm et al. Nov 2011 A1
20110291886 Krieter Dec 2011 A1
20110306323 Do et al. Dec 2011 A1
20110319094 Usui et al. Dec 2011 A1
20120052873 Wong Mar 2012 A1
20120089322 Horvitz Apr 2012 A1
20120121161 Eade et al. May 2012 A1
20120143495 Dantu Jun 2012 A1
20120158289 Brush et al. Jun 2012 A1
20120173139 Judd et al. Jul 2012 A1
20120176491 Garin et al. Jul 2012 A1
20120188124 Reidevall et al. Jul 2012 A1
20120203453 Lundquist et al. Aug 2012 A1
20120209507 Serbanescu Aug 2012 A1
20120218142 Leclercq Aug 2012 A1
20120221244 Georgy et al. Aug 2012 A1
20120238293 Pan Sep 2012 A9
20120259541 Downey et al. Oct 2012 A1
20120259666 Collopy et al. Oct 2012 A1
20120290615 Lamb et al. Nov 2012 A1
20120299724 Kuper et al. Nov 2012 A1
20130002857 Kulik Jan 2013 A1
20130018581 Sidhu et al. Jan 2013 A1
20130018629 Sidhu et al. Jan 2013 A1
20130030690 Witmer Jan 2013 A1
20130035111 Moeglein Feb 2013 A1
20130095848 Gold et al. Apr 2013 A1
20130110454 Sidhu et al. May 2013 A1
20130114687 Kim et al. May 2013 A1
20130115971 Marti et al. May 2013 A1
20130116921 Kasargod May 2013 A1
20130138314 Viittala May 2013 A1
20130158867 Sidhu et al. Jun 2013 A1
20130211711 Kelly et al. Aug 2013 A1
20130252628 Kuehnel Sep 2013 A1
20130285849 Ben-Moshe et al. Oct 2013 A1
20130297204 Bartels Nov 2013 A1
20130332064 Funk et al. Dec 2013 A1
20140024354 Haik et al. Jan 2014 A1
20140070991 Liu et al. Mar 2014 A1
20140121960 Park May 2014 A1
20140327547 Johnson Nov 2014 A1
20150018008 Schlesinger et al. Jan 2015 A1
20150073697 Barrett et al. Mar 2015 A1
20150198694 Waters et al. Jul 2015 A1
20150339397 Brush et al. Nov 2015 A1
20160353383 Haik et al. Dec 2016 A1
Foreign Referenced Citations (28)
Number Date Country
1375999 Oct 2002 CN
1488955 Apr 2004 CN
101109808 Jan 2008 CN
101251589 Aug 2008 CN
101675597 Mar 2010 CN
102006550 Apr 2011 CN
102204374 Sep 2011 CN
10042983 Mar 2002 DE
2293016 Mar 2011 EP
2431261 Apr 2007 GB
04364491 Dec 1992 JP
6-242212 Sep 1994 JP
07-083678 Mar 1995 JP
08-271277 Oct 1996 JP
10132593 May 1998 JP
11-153446 Jun 1999 JP
2002-328035 Nov 2002 JP
2004-317160 Nov 2004 JP
2007248321 Sep 2007 JP
2008026134 Feb 2008 JP
1997-0071404 Jul 1997 KR
20040033141 Apr 2004 KR
20040050550 Jun 2004 KR
9800787 Jan 1998 WO
2008139607 Nov 2008 WO
2009016505 Feb 2009 WO
2009039161 Mar 2009 WO
2012085876 Jun 2012 WO
Non-Patent Literature Citations (358)
Entry
Office Action dated Jul. 11, 2017 from Japanese Patent Application No. 2015-531214, 15 pages.
Notice of Allowance dated Jan. 13, 2017 from U.S. Appl. No. 13/606,029, 23 pages.
Groves, Paul D., “Shadow Matching: A New GNSS Positioning Thecnique for Urban Canyons”, The Journal of Navigation, 2011, vol. 64, pp. 417-430, 14 pages.
Requirement for Restriction/Election dated Mar. 20, 2014 from U.S. Appl. No. 13/152,299, 6 pages.
Response filed Apr. 2, 2014 to the Requirement for Restriction/Election dated Mar. 20, 2014 from U.S. Appl. No. 13/152,299, 6 pages.
Non-Final Office Action dated May 7, 2014 from U.S. Appl. No. 13/152,299, 4 pages.
Response filed May 19, 2014 to the Non-Final Office Action dated May 7, 2014 from U.S. Appl. No. 13/152,299, 6 pages.
Notice of Allowance dated Jun. 17, 2014 from U.S. Appl. No. 13/152,299, 7 pages.
Notice of Allowance dated Oct. 31, 2014 from U.S. Appl. No. 13/152,299, 9 pages.
International Search Report & Written Opinion dated Jan. 21, 2013 from PCT Patent Application No. PCT/US2012/40140, 9 pages.
International Preliminary Report on Patentability dated Dec. 4, 2013 from PCT Patent Application No. PCT/US2012/40140, 7 pages.
Non-Final Office Action dated May 5, 2016 from U.S. Appl. No. 14/504,451, 10 pages.
Response filed Aug. 5, 2016 to the Non-Final Office Action dated May 5, 2016 from U.S. Appl. No. 14/504,451, 9 pages.
Non-Final Office Action dated Jun. 6, 2013 from U.S. Appl. No. 13/117,171, 16 pages.
Response filed Oct. 28, 2013 to the Non-Final Office Action dated Jun. 6, 2013 from U.S. Appl. No. 13/117,171, 8 pages.
Final Office Action dated Dec. 6, 2013 from U.S. Appl. No. 13/117,171, 12 pages.
Non-Final Office Action dated May 11, 2015 from U.S. Appl. No. 13/606,008, 24 pages.
Response filed Nov. 11, 2015 to the Non-Final Office Action dated May 11, 2015 from U.S. Appl. No. 13/606,008, 13 pages.
Notice of Allowance and Examiner-Initiated Interview Summary dated Dec. 9, 2015 from U.S. Appl. No. 13/606,008, 19 pages.
Second Office Action dated Nov. 3, 2016 from Chinese Patent Application No. 201380046819.5, 10 pages.
Non-Final Office Action dated Nov. 8, 2016 from U.S. Appl. No. 13/284,128, 47 pages.
Final Office Action dated Mar. 4, 2016 from U.S. Appl. No. 13/190,121, 14 pages.
Notice of Appeal and Pre-Brief Conference Request dated Apr. 19, 2016 from U.S. Appl. No. 13/190,121, 10 pages.
Notice of Panel Decision from Pre-Appeal Brief Review dated Jun. 8, 2016 from U.S. Appl. No. 13/190,121, 2 pages.
Notice of Allowance and Examiner Initiated Interview Summary dated Jul. 22, 2015 from U.S. Appl. No. 13/183,124, 15 pages.
U.S. Appl. No. 60/910,799 titled “Learning and Reasoning to Enhance Energy Efficiency in Trasportation Systems” filed Apr. 9, 2009 by Inventors Eric J. Horvitz and John C. Krumm, 61 pages.
Restriction Requirement dated Feb. 26, 2009 from U.S. Appl. No. 11/733,701, 9 pages.
Response filed Mar. 5, 2009 to the Restriction Requirement dated Feb. 26, 2009 from U.S. Appl. No. 11/733,701, 2 pages.
Non-Final Office Action dated Mar. 26, 2009 from U.S. Appl. No. 11/733,701, 20 pages.
Response filed May 4, 2015 to the Non-Final Office Action dated Feb. 3, 2015 from U.S. Appl. No. 13/183,124, 16 pages.
Response filed Jun. 26, 2009 to the Non-Final Office Action dated Mar. 26, 2009 from U.S. Appl. No. 11/733,701, 11 pages.
Final Office Action dated Oct. 21, 2009 from U.S. Appl. No. 11/733,701, 14 pages.
Response filed Dec. 2, 2009 to the Final Office Action dated Oct. 21, 2009 from U.S. Appl. No. 11/733,701, 10 pages.
Non-Final Office Action dated Dec. 23, 2011 from U.S. Appl. No. 11/733,701, 14 pages.
Response filed Mar. 27, 2012 to the Non-Final Office Action dated Dec. 23, 2011 from U.S. Appl. No. 11/733,701, 12 pages.
Notice of Non-Compliant Amendment dated May 23, 2012 from U.S. Appl. No. 11/733,701, 2 pages.
Non-Final Office Action dated Jun. 15, 2012 from U.S. Appl. No. 12/954,545, 12 pages.
Response filed Sep. 24, 2012 to the Non-Final Office Action dated Jun. 15, 2012 from U.S. Appl. No. 12/954,545, 13 pages.
Applicant Summary of Interview with Examiner filed Oct. 5, 2012 from U.S. Appl. No. 12/954,545, 2 pages.
Applicant Initiated Interview Summary dated Oct. 16, 2012 from U.S. Appl. No. 12/954,545, 3 pages.
Notice of Allowance dated Nov. 26, 2012 from U.S. Appl. No. 12/954,545, 9 pages.
Supplemental Amendment filed Feb. 13, 2013 from U.S. Appl. No. 12/954,545, 11 pages.
Non-Final Office Action dated Mar. 1, 2013 from U.S. Appl. No. 12/954,545, 8 pages.
Response filed Jun. 24, 2013 to the Non-Final Office Action dated Mar. 1, 2013 from U.S. Appl. No. 12/954,545, 12 pages.
Notice of Allowance and Applicant Initiated Interview Summary dated Jul. 11, 2013 from U.S. Appl. No. 12/954,545, 10 pages.
Applicant Initiated Interview Summary dated Aug. 26, 2013 from U.S. Appl. No. 12/954,545, 3 pages.
Non-Final Office Action dated May 28, 2014 from U.S. Appl. No. 13/183,124, 21 pages.
Response filed Sep. 29, 2014 to the Non-Final Office Action dated May 28, 2014 from U.S. Appl No. 13/184,124, 13 pages.
Non-Final Office Action dated Feb. 3, 2015 from U.S. Appl. No. 13/183,124, 29 pages.
Examiner-Initiated Interview Summary dated Jul. 10, 2017 from U.S. Appl. No. 13/284,128, 3 pages.
Response filed Jul. 14, 2017 to the Final Office Action dated Apr. 17, 2017 from U.S. Appl. No. 13/284,128, 9 pages.
Pre-Appeal Brief Request for Review and Notice of Appeal filed Jul. 17, 2017 from U.S. Appl. No. 13/284,128, 7 pages.
Applicant-Initiated Interview Summary dated Jul. 20, 2017 from U.S. Appl. No. 13/284,128, 3 pages.
Advisory Action dated Jul. 24, 2017 from U.S. Appl. No. 13/284,128, 3 pages.
Corrected Notice of Allowability dated Jun. 20, 2017 from U.S. Appl. No. 13/606,029, 6 pages.
Corrected Notice of Allowability dated Aug. 22, 2017 from U.S. Appl. No. 13/606,029, 6 pages.
“Ignite Where & Launch Pad”, O'Reilly Conferences, Where 2.0 Conference 2008, May 12, 2008, 4 pages.
“MEMS based motion sensing design”, retrieved at «http://www.eeherald.com/section/design-guide/mems_application.html» on Mar. 30, 2011, 2 pages.
“Time Domain”, captured by the Internet archive at «http://web.archive.org/web/20111026011954/http://www.timedomain.com/» on Oct. 26, 2011, 2 pages.
Aalto et al., “Bluetooth and Wap Push Based Location-Aware Mobile Advertising System”, ACM, MobiSYS '04, Jun. 6-9, 2004, Boston MA, 10 pages.
Alzantot et al., “IPS: Ubiquitous Indoor Positioning System”, retrieved at «http://wrc.ejust.edu.eg/IPS.html» on Apr. 17, 2012, pp. 1-3, 3 pages.
Amin et al., “Fancy a drink in Canary Wharf? A user study on location-based mobile search”, Proceedings of the 12th IFIP TC 13 International Conference on Human-Computer Interaction, Part I, Aug. 24, 2009, 14 pages.
Angermann et al., “Software Representation for Heterogeneous Location Data Sources Using Probability Density Functions”, International Symposium on Location Based Services for Cellular Users (LOCELLUS), 2001, Munich, Germany, 10 pages.
Ashbrook et al., “Using GPS to Learn Significant Locations and Predict Movement Across Multiple Users”, Personal and Ubiquitous Computing,7(5), 2003, 15 pages.
Azizyan et al., “SurroundSense: Mobile Phone Localization Using Ambient Sound and Light”, retrieved on Feb. 5, 2009 at «http://synrg.ee.duke.edu/papers/surroundsense-poster.pdf», Sep. 22, 2008, 1 page.
Bahl et al., “RADAR: An In-Building RF-based User Location and Tracking System”, Microsoft Research, Proceedings of IEEE Infocom 2000, Tel-Aviv, Israel, Mar. 2000, 10 pages.
Cabero et al., Indoor People Tracking Based on Dynamic Weighted Multidimensional Scaling, MSWIM D7, Oct. 22-26, 2007, Chania, Crete Island, Greece, Oct. 22, 2007, 8 pages.
Balakrishnan et al., “ITR: Scalable Location-Aware Monitoring (SLAM) Systems”, Laboratory for Computer Science & Department of EECS, MIT, Cabridge, MA, Nov. 9, 2001, 31 pages.
Balas, Ciprian-Mihai, “Indoor Localization of Mobile Devices for a Wireless Monitoring System Based on Crowdsourcing”, 2011, 78 pages.
Bauer et al. “Using Wireless Physical Layer Information to Construct Implicit Identifiers”, Hot Topics in Privacy Enhancing Technologies, Jul. 2008, 15 pages.
Beard et al., “Estimating Positions and Paths of Moving Objects”, Temporal Representation and Reasoning, TIME 2000, Proceedings Seventh International Workshop on Digital Object Identifier 10.1109/TIME2000.856597, published 2000, 8 pages.
Beauregard et al., “Pedestrian Dead Reckoning: A Basis for Personal Positioning”, Proceedings of the 3rd Workshop on Positioning, (WPNC'06), Navigation and Communication, Mar. 16, 2006, pp. 27-36, 10 pages.
Biegel et al., “A Framework for Developing Mobile, Context-Aware Applications”, Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications, Mar. 14-17, 2004, pp. 361-365, 5 pages.
Billinghurst et al., “An Evaluation of Wearable Information Spaces”, Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages.
Billlinghurst et al., “Research Directions in Wearable Computing”, University of Washington, May 1998, 48 pages.
Billinghurst et al., “Wearable Devices: New Ways to Manage Information”, IEEE Computer Society, Jan. 1999, pp. 57-64, 8 pages.
Bisdikian et al., “Intelligent Pervasive Middleware for Context-Based and Localized Telematics Services,” Proceedings of the Second International ACM Conference on Mobile Commerce, Sep. 2002, pp. 15-24, 10 pages.
Brik et al., “Wireless Device Identification with Radiometric Signatures”, 14th ACM International Conference on Mobile Computing and Networking, Sep. 14-19, 2008, pp. 1-13, 13 pages.
Bulusu et al., “GPS-Less Low Cost Outdoor Localization for Very Small Devices”, IEEE Personal Communications, vol. 7, Issue 5, Oct. 2000, pp. 28-34, 7 pages.
Jeong et al., “TBD: Trajectory-Based Data Forwarding for Light-Traffic Vehicular Networks”, 29th IEEE International Conference on Distributed Computing Systems, Jun. 22-26, 2009, pp. 231-238, 8 pages.
Jimenez et al., “A Comparison of Pedestrian Dead-Reckoning Algorithms using a Low-Cost MEMS IMU”, WISP 2009, 6th IEEE International Symposium on Intelligent Signal Processing, Budapest, Hungary, Aug. 26-28, 2009, pp. 37-42, 6 pages.
Jin et al., “A Robust Dead-Reckoning Pedestrian Tracking System with Low Cost Sensors”, 2011 IEEE International Conference on Pervasive Computing and Communications (PerCom), Seattle, Washington, Mar. 21-25, 2011, pp. 222-230, 9 pages.
Joachims, Thorsten, “Text Categorization with Support Vector Machines: Learning with Many Relevant Features”, European Conference on Machine Learning, Apr. 21, 1998, pp. 137-142, 6 pages.
Kanoh et al., “Evaluation of GA-based Dynamic Rout Guidance for Car Navigation using Cellular Automata”, Intelligent Vehicle Symposium, 2002, IEEE, vol. 1, pp. 178-183, 6 pages.
Kanoh et al., “Knowledge Based Genetic Algorithm for Dynamic Route Selection”, Fourth International Conference, Knowledge-Based Intelligent Engineering Systems and Allied Technologies, 2000, vol. 2, pp. 616-619, 4 pages.
Kanoh et al., “Route Guidance with Unspecific Staging Posts Using Genetic Algorithm for Car Navigation Systems”, IEEE Intelligent Transportation Systems Conference Proceedings, Oct. 1-3, 2000, pp. 119-124, 6 pages.
Leonard et al., “Simultaneous Map Building and Localization for an Autonomous Mobile Robot”, International Workshop on Intelligent Robots and Systems, Nov. 3-5, 1991, pp. 1442-1447, 6 pages.
Kansal et al., “Location and Mobility in a Sensor Network of Mobile Phones,” ACM SIGMM 17th International Workshop on Network and Operating Systems Support for Digital Audio & Video (NOSSDAV), Association for Computing Machinery, Inc., Urbana, IL, 2007, 6 pages.
Karbassi et al., “Vehicle Route Prediction and Time of Arrival Estimation Techniques for Improved Transportation System Management,” Proceedings of the Intelligent Vehicles Symposium, 2003, pp. 511-516, 6 pages.
Kargl et al., “Smart Reminder—Personal Assistance in a Mobile Computing Environment,” International Conference on Pervasive Computing, Aug. 26-28, 2002, 6 pages.
Kim et al., “A Step, Stride and Heading Determination for the Pedestrian Navigation System”, Journal of Global Positioning Systems, vol. 3, Issue 1-2, Dec. 6, 2004, pp. 273-279, 7 pages.
Kostov et al., “Travel Destination Prediction Using Frequent Crossing Pattern from Driving History”, Proceedings of the 8th International IEEE Conference on Intelligent Transportation Systems, Sep. 13-16, 2005, 8 pages.
Koyuncu et al., “A Survey of Indoor Positioning and Object Locating Systems”, IJCSNS International Journal of Computer Science and Network Security, vol. 10, No. 5, May 2010, pp. 121-128, 8 pages.
Krumm et al., “Predestination: Inferring Destinations from Partial Trajectories”, UbiComp 2006: The Eighth International Conference on Ubiquitous Computing, Orange County, CA, Sep. 17-21, 2006, 18 pages.
Krumm et al., “RightSPOT: A Novel Sense of Location for a Smart Personal Object”, retrieved on Feb. 5, 2009 at «http://research.microsoft.com/en-us/um/people/horvitz/rightspot.htm», 2003, Seattle, WA, 1 page.
Krumm et al., “RightSPOT: A Novel Sense of Location for a Smart Personal Object”, Proceedings of Ubicomp 2003, vol. 2864, Oct. 2003, pp. 36-43, 8 pages.
Krumm et al., “The Microsoft Multiperson Location Survey”, Microsoft Research, Aug. 2005, 4 pages.
Liao et al., “Extracting Places and Activities from GPS Traces Using Hierarchical Conditional Random Fields”, The International Journal of Robotics Research, vol. 26, No. 1, Jan. 9, 2007, pp. 119-134, 17 pages.
Krumm et al., “Predestination: Where Do You Want to Go Today?”, Computer Magazine, vol. 40, Issue 4, Apr. 2007, pp. 105-107, 3 pages.
Krumm et al., “Minimizing Calibration Effort for an Indoor 802.11 Device Location Measurement System”, retrieved at «http://research.microsoft.com/pubs/68919/tr-2003-82.pdf», Microsoft Research, Tech. Report. Nov. 13, 2003, pp. 1-9, 9 pages.
Krumm, John, “Real Time Destination Prediction Based on Efficient Routes”, SAE Technical Paper, Paper No. 2006-01-0811, Apr. 3, 2006, 6 pages.
Lachapelle, Gerard, “GNSS Indoor Location Technologies”, Journal of Global Positioning Systems (2004) vol. 3, No. 1-2, Nov. 15, 2004, pp. 2-11, 10 pages.
Lai et al., “Hierarchical Incremental Pat Planning and Situation-Dependent Optimized Dynamic Motion Planning Considering Accelerations”, IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, vol. 37, Issue 6, Dec. 2007, pp. 1541-1554, 14 pages.
Lamarca et al., “Place Lab: Device Positioning Using Radio Beacons in the Wild”, Proceedings of Pervasive 2005, Munich, Germany, 2005, 18 pages.
Lee et al., “Design and implementation of a movement history analysis frame-work for the taxi telematics system”, Proceedings of APCC2008, 14th Asia-Pacific Conference, 2008, pp. 1-4, 4 pages.
Lee et al., “Crowdsourced Radiomap for Room-Level Place Recognition in Urban Environment”, 8th IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), Mar. 29, 2010, pp. 648-653, 6 pages.
Response filed Feb. 2, 2017 to the Non-Final Office Action dated Nov. 8, 2016 from U.S. Appl. No. 13/284,128, 18 pages.
Applicant-Initiated Interview Summary dated Feb. 6, 2017 from U.S. Appl. No. 13/284,128, 3 pages.
Corrected Notice of Allowability dated Feb. 14, 2017 from U.S. Appl. No. 13/606,029, 6 pages.
Amendment and Response filed Jan. 17, 2017 to the Ex Parte Quayle Office Action dated Nov. 17, 2016 from U.S. Appl. No. 14/504,451, 8 pages.
Final Office Action dated Apr. 17, 2017 from U.S. Appl. No. 13/284,128, 40 pages.
Corrected Notice of Allowability dated Mar. 14, 2017 from U.S. Appl. No. 13/606,029, 6 pages.
ExParte Quayle Office Action dated Mar. 23, 2017 from U.S. Appl. No. 14/504,451, 30 pages.
Supplemental Notice of Allowability dated Apr. 17, 2017 from U.S. Appl. No. 13/606,029, 6 pages.
Response filed Apr. 28, 2014 to the Restriction Requirement dated Mar. 21, 2014 from U.S. Appl. No. 13/551,613, 13 pages.
Non-Final Office Action dated Aug. 13, 2014 from U.S. Appl. No. 13/551,613, 10 pages.
Response filed Nov. 13, 2014 to the Non-Final Office Action dated Aug. 13, 2014 from U.S. Appl. No. 13/551,613, 17 pages.
Final Office Action dated Mar. 11, 2015 from U.S. Appl. No. 13/551,613, 15 pages.
Response filed Jun. 16, 2015 to the Final Office Action dated Mar. 11, 2015 from U.S. Appl. No. 13/551,613, 16 pages.
Non-Final Office Action dated Jul. 16, 2015 from U.S. Appl. No. 13/551,613, 11 pages.
Response filed Dec. 12, 2015 to the Non-Final Office Action dated Jul. 16, 2015 from U.S. Appl. No. 13/551,613, 13 pages.
Ex Parte Quayle Office Action and Examiner-Initiated Interview Summary dated Mar. 9, 2016 from U.S. Appl. No. 13/551,613, 5 pages.
Response to Ex Parte Quayle Action filed May 9, 2016 from U.S. Appl. No. 13/551,613, 5 pages.
Notice of Allowance dated Jun. 6, 2016 from U.S. Appl. No. 13/551,613, 7 pages.
International Search Report and Written Opinion dated Nov. 8, 2013 from PCT Patent Application No. PCT/US2013/050963, 13 pages.
International Preliminary Report on Patentability dated Jan. 20, 2015 from PCT Patent Application No. PCT/US2013/050963, 10 pages.
Notification of the First Office Action dated Dec. 31, 2015 from Chinese Patent Application No. 201380038072.9, 14 pages.
Response filed May 16, 2016 to the First Office action dated Dec. 31, 2015 from Chinese Patent Application No. 201380038072.9, 6 pages.
Communication Pursuant to Rules 161(1) and 162 EPC dated Feb. 26, 2015 from European Patent Application No. 13748129.7, 2 pages.
Response filed Jul. 31, 2015 to the Communication dated Feb. 26, 2015 from European Patent Application No. 13748129.7, 9 pages.
Request for Examination and Voluntary Amendment dated Jun. 15, 2016 from Japanese Patent Application No. 2015-523237, 8 pages.
International Search Report and Written Opinion dated Dec. 12, 2008 from PCT Application No. PCT/US2008/067808, 8 pages.
International Search Report dated Sep. 29, 2003 from PCT Application No. PCT/US00/20685, 3 pages.
Non-Final Office Action dated Jun. 28, 2011 from U.S. Appl. No. 12/417,752, 15 pages.
Response filed Oct. 27, 2011 to the Non-Final Office Action dated Jun. 28, 2011 from U.S. Appl. No. 12/417,752, 17 pages.
Final Office Action dated Sep. 13, 2012 from U.S. Appl. No. 12/417,752, 18 pages.
Response filed Dec. 13, 2012 to the Final Office Action dated Sep. 13, 2012 from U.S. Appl. No. 12/417,752, 13 pages.
Non-Final Office Action dated May 24, 2013 from U.S. Appl. No. 12/417,752, 18 pages.
Response filed Jul. 2, 2013 to the Non-Final Office Action dated May 24, 2013 from U.S. Appl. No. 12/417,752, 16 pages.
Final Office Action dated Jul. 17, 2013 from U.S. Appl. No. 12/417,752, 18 pages.
Response filed Sep. 30, 2013 to the Final Office Action dated Jul. 17, 2013 from U.S. Appl. No. 12/417,752, 18 pages.
Non-Final Office Action dated Oct. 29, 2013 from U.S. Appl. No. 12/417,752, 17 pages.
Response filed Dec. 23, 2013 to the Non-Final Office Action dated Oct. 29, 2013 from U.S. Appl. No. 12/417,752, 21 pages.
Final Office Action and Examiner-Initiated Interview Summary dated Feb. 25, 2014 from U.S. Appl. No. 12/417,752, 26 pages.
Response filed Jan. 17, 2017 to the Second Office Action dated Nov. 3, 2016 from Chinese Patent Application No. 201380046819.5, 12 pages.
Amendment/Response filed Sep. 9, 2016 to the Advisory Action dated Aug. 19, 2016 from U.S. Appl. No. 13/284,128, 12 pages.
Non-Final Office Action dated Oct. 24, 2013 from U.S. Appl. No. 13/325,065, 31 pages.
Response filed Jan. 23, 2014 to the Non-Final Office Action dated Oct. 24, 2013 from U.S. Appl. No. 13/325,065, 20 pages.
Notice of Allowance dated Jun. 4, 2014 from U.S. Appl. No. 13/325,065, 12 pages.
Notice of Allowance dated Sep. 19, 2014 from U.S. Appl. No. 13/325,065, 7 pages.
Notice of Allowance dated Dec. 31, 2014 from U.S. Appl. No. 13/325,065, 7 pages.
Notice of Allowance dated Jun. 5, 2015 from U.S. Appl. No. 13/325,065, 8 pages.
Notice of Allowance dated Sep. 10, 2015 from U.S. Appl. No. 13/325,065, 26 pages.
Corrected Notice of Allowability dated Oct. 22, 2015 from U.S. Appl. No. 13/325,065, 6 pages.
Notice of Allowance dated Dec. 17, 2015 from U.S. Appl. No. 13/325,065, 18 pages.
Notice of Allowance dated Mar. 28, 2016 from U.S. Appl. No. 13/325,065, 11 pages.
Notice of Allowability dated Jun. 7, 2016 from U.S. Appl. No. 13/325,065, 18 pages.
Preliminary Amendment filed Aug. 23, 2013 from U.S. Appl. No. 13/606,029, 8 pages.
Restriction Requirement dated Jun. 25, 2015 from U.S. Appl. No. 13/606,029, 6 pages.
Response filed Jul. 21, 2015 to the Restriction Requirement dated Jun. 25, 2015 from U.S. Appl. No. 13/606,029, 8 pages.
Non-Final Office Action dated Aug. 7, 2015 from U.S. Appl. No. 13/606,029, 16 pages.
Applicant-Initiated Interview Summary dated Nov. 17, 2015 from U.S. Appl. No. 13/606,029, 3 pages.
Response filed Nov. 17, 2015 to the Non-Final Office Action dated Aug. 7, 2015 from U.S. Appl. No. 13/606,029, 14 pages.
Final Office Action dated Dec. 4, 2015 from U.S. Appl. No. 13/606,029, 6 pages.
Response filed Feb. 11, 2016 to the Final Office Action dated Dec. 4, 2015 and After Final Consideration Pilot Program 2.0 Request from U.S. Appl. No. 13/606,029, 11 pages.
Advisory Action and AFCP 2.0 Decision dated Feb. 23, 2016 from U.S. Appl. No. 13/606,029, 4 pages.
Non-Final Office Action dated Apr. 4, 2016 from U.S. Appl. No. 13/606,029, 15 pages.
Response filed Jul. 19, 2016 to the Non-Final Office Action dated Apr. 4, 2016 from U.S. Appl. No. 13/606,029, 17 pages.
Final Office Action dated Oct. 4, 2016 from U.S. Appl. No. 13/606,029, 138 pages.
International Search Report and Written Opinion dated Dec. 20, 2013 from PCT Patent Application No. PCT/US2013/058350, 9 pages.
International Preliminary Report on Patentability dated Mar. 19, 2015 from PCT Patent Application No. PCT/US2013/058350, 7 pages.
First Office Action dated Mar. 3, 2016 from Chinese Patent Application No. 201380046819.5, 13 pages.
Response filed Jul. 18, 2016 to the First Office Action dated Mar. 3, 2016 from Chinese Patent Application No. 201380046819.5, 10 pages.
Request for Examination and Voluntary Amendment filed Sep. 6, 2016 from Japanese Patent Application No. 2015-531214, 11 pages.
Restriction Requirement dated Mar. 21, 2014 from U.S. Appl. No. 13/551,613, 8 pages.
Reply Brief filed Feb. 15, 2017 from U.S. Appl. No. 13/190,121, 12 pages.
Third Office Action dated May 2, 2017 from Chinese Patent Application No. 201380046819.5, 9 pages.
Preliminary Amendment filed Mar. 24, 2017 from U.S. Appl. No. 15/233,699, 8 pages.
Response filed Apr. 19, 2017 to the Ex Parte Quayle Office Action dated Mar. 23, 2017 from U.S. Appl. No. 14/504,451, 8 pages.
Supplemental Notice of Allowability dated Aug. 4, 2015 from from U.S. Appl. No. 13/183,124, 7 pages.
Supplemental Notice of Allowability dated Aug. 27, 2015 from from U.S. Appl. No. 13/183,124, 2 pages.
Notice of Allowance dated Nov. 16, 2015 from U.S. Appl. No. 13/183,124, 8 pages.
Notice of Allowance dated Feb. 29, 2016 from U.S. Appl. No. 13/183,124, 24 pages.
Notice of Allowability dated Jun. 14, 2016 from U.S. Appl. No. 13/183,124, 10 pages.
Supplemental Notice of Allowability dated Aug. 10, 2016 from U.S. Appl. No. 13/183,124, 7 pages.
Supplemental Notice of Allowability dated Sep. 13, 2016 from U.S. Appl. No. 13/183,124, 6 pages.
Non-Final Office Action dated Sep. 24, 2013 from U.S. Appl. No. 13/183,050, 11 pages.
Applicant Initiated Interview Summary dated Aug. 26, 2016 from U.S. Appl. No. 13/284,128, 10 pages.
Applicant Initiated Interview Summary dated Dec. 26, 2013 from U.S. Appl. No. 13/183,050, 3 pages.
Official Action dated Mar. 25, 2014 Withdrawing/Vacating previous Office Action from U.S. Appl. No. 13/183,050, 2 pages.
Non-Final Office Action dated Jun. 11, 2014 from U.S. Appl. No. 13/183,050, 19 pages.
Response filed Oct. 10, 2014 to the Non-Final Office Action dated Jun. 11, 2014 from U.S. Appl. No. 13/183,050, 11 pages.
Final Office Action dated Nov. 26, 2014 from U.S. Appl. No. 13/183,050, 22 pages.
Response and After Final Consideration Pilot Program Request filed Aug. 1, 2016 from U.S. Appl. No. 13/284,128, 13 pages.
Response filed Feb. 25, 2015 to the Final Office Action dated Nov. 26, 2014 from U.S. Appl No. 13/183,050, 17 pages.
Advisory Action, Applicant-Initiated Interview Summary and AFCP 2.0 Decision dated Aug. 19, 2016 from U.S. Appl. No. 13/284,128, 6 pages.
Non-Final Office Action dated Jun. 18, 2015 from U.S. Appl. No. 13/183,050, 24 pages.
Notice of Allowance, Office Action Appendix and Applicant-Initiated Interview Summary dated Oct. 20, 2015 from U.S. Appl. No. 13/183,050, 91 pages.
Notice of Allowance dated Mar. 14, 2016 from U.S. Appl. No. 13/183,050, 49 pages.
Notice of Allowability dated Jun. 10, 2016 from U.S. Appl. No. 13/183,050, 19 pages.
Supplemental Notice of Allowability dated Sep. 13, 2016 from U.S. Appl. No. 13/183,050, 6 pages.
Non-Final Office Action dated Aug. 15, 2014 from U.S. Appl. No. 13/284,128, 28 pages.
Response filed Nov. 17, 2014 to the Non-Final Office Action dated Aug. 15, 2014 from U.S. Appl. No. 13/284,128, 15 pages.
Non-Final Office Action dated Sep. 17, 2015 from U.S. Appl. No. 13/284,128, 22 pages.
Response filed Jan. 15, 2016 to the Non-Final Office Action dated Sep. 17, 2015 from U.S. Appl. No. 13/284,128, 16 pages.
Final Office Actiion dated May 12, 2016 from U.S. Appl. No. 13/284,128, 58 pages.
Chang et al., “Progressive Lane Analysis in the Digital Map using Fuzzy Method,” Department of Computer Science and Engineering, Tatung University, 2006, 4 pages.
Chen et al., “HarpiaGrid: A Reliable Grid-based Rounding Protocol for Vehicular Ad Hoc Networks”, 11th International IEEE Conference on Intelligent Transportation Systems, ITSC 2008, Oct. 12-15, 2008, pp. 383-388, 6 pages.
Chen et al., “Modeling Route Choice Behavior From Smart-phone GPS data,” Transport and Mobility Laboratory, Ecole Polytechnique Federale de Lausanne, Nov. 5, 2009, pp. 1-12, 12 pages.
Chen et al., “A Survey of Context-Aware Mobile Computing Research,” Dartmouth Computer Science Technical Report TR2000-381, 2000, 16 pages.
Cheng et al., “Location Prediction Algorithms for Mobile Wireless Systems,” Wireless Internet Handbook: Technologies, Standards, and Applications, 2003, CRC Press, Boca Raton, FL, pp. 245-263, 17 pages.
Chintalapudi et al., “Indoor Localization Without the Pain”, Sixteenth Annual International Conference on Mobile Computing and Networking, Sep. 20-24, 2010, pp. 173-184, 12 pages.
Choi et al., “Performance Evaluation of Traffic Control Based on Geographical Information”, IEEE International Conference on Intelligent Computing and Intelligent Systems, vol. 3, 2009, pp. 85-89, 5 pages.
Chun et al., “CloneCloud: Elastic Execution between Mobile Device and Cloud”, Proceedings of EuroSys 2011, Apr. 10-13 2011, 14 pages.
Collin et al., “Indoor Positioning System Using Accelerometry and High Accuracy Heading Sensors”, Proceedings of GPS/GNSS 2003, Sep. 9-12, 2003, pp. 1-7, 7 pages.
Constandache et al., “Energy-Aware Localization Using Mobile Phones”, Jun. 2008, retrieved at «http://www.cs.duke.edu/˜ionut/2008_mobisys.pdf», 1 page.
Coyne et al., “Comparison of Differentially Corrected GPS Sources for Support of Site-Specific Management in Agriculture”, Jul. 2003, Kansas State University Agricultural Experiment Station and Cooperative Extension Service, 35 pages.
De Moraes et al., “Calibration-Free WLAN Location System Based on Dynamic Mapping of Signal Strength”, 9th Symposium on Modeling, Analysis, and Simulation of Wireless and Mobile Systems, Oct. 2, 2006, MobiWac '06, Torremolionos, Malaga, Spain, 8 pages.
Dissanayake et al., “A Solution to the Simultaneous Localization and Map Building (SLAM) Problem,” Proceedings of the IEEE Transactions on Robotics and Automation, vol. 17, No. 3, Jun. 2001, pp. 229-241, 13 pages.
Elfes Alberto, “Using Occupancy Grids for Mobile Robot Perception and Navigation,” IEEE Computer, Jun. 1989, 22(6), pp. 46-57, 12 pages.
Flinn, Jason, “Extending Mobile Computer Battery Life through Energy-Aware Adaptation”, retrieved on Feb. 5, 2009 at «http://reports-archive.adm.cs.cmu.edu/anon/2001/CMU-CS-01-171.pdf», School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, Dec. 2001, 163 pages.
Fox et al., “Monte Carlo Localization: Efficient Position Estimation for Mobile Robots”, Sixteenth National Conference on Artificial Intelligence, Jul. 1999, pp. 343-349, 7 pages.
Gaonkar et al., “Micro-Blog: Sharing and Querying Content Through Mobile Phones and Social Participation”, ACM, MobiSys '08, Jun. 17-20, 2008, Breckenridge, CO, 13 pages.
Ghasemzahdeh et al., “Action Coverage Formulation for Power Optimization in Body Sensor Networks,” Proceedings of the 2008 Asia and South Pacific Design Automation Conference, Jan. 2008, IEEE Computer Society Press, pp. 446-451, 6 pages.
Gogate et al., “Modeling Transportation Routines using Hybrid Dynamic Mixed Networks,” Uncertainty in Artificial Intelligence (UAI), 2005, 8 pages.
Goldstone et al., “Group Path Formation,” IEEE Transaction on Systems, Man and Cybernetics, Part A: Systems and Humans, May 2006, vol. 36, Issue 3, pp. 611-620, 10 pages.
Goswami et al., “WiGEM: A Learning-Based Approach for Indoor Localization”, Seventh Conference on Emerging Networking Experiments and Technologies, Dec. 6-9, 2011, pp. 1-12, 12 pages.
Gusenbauer et al., “Self-Contained Indoor Positioning on Off-The-Shelf Mobile Devices”, International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sep. 15-17, 2010, 9 pages.
Hariharan et al., “Project Lachesis: Parsing and Modeling Location Histories”, Geographic Information Science: Third International Conference, GI Science 2004, Adelphi, MD, Springer-Verlag GmbH, 19 pages.
Harter et al., “A Distributed Location System for the Active Office,” IEEE Network, Jan./Feb. 1994, pp. 62-70, 9 pages.
Horvitz et al., “Attention-Sensitive Alerting in Computing Systems”, Microsoft Research, Aug. 1999, 26 pages.
Horvitz et al., “In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Inference, Speech Understanding, and User Models”, retrieved at «research.microsoft.com/en-us/um/people/horvitz/speechcontext.pdf», 1995, 8 pages.
Hu et al., “Simulation-Assignment-Based Travel Time Prediction Model for Traffic Corridors,” Intelligent Transportation Systems, IEEE Transactions, vol. 13, No. 3, Sep. 2012, pp. 1277-1286, 10 pages.
Hu et al., “Summary of Travel Trends”, 2001 National Household Survey, U.S. Department of Transportation, U.S. Federal Highway Administration, Dec. 2004, 135 pages.
Huang et al., “Improve GPS Positioning Accuracy with Context Awareness”, 2008 IEEE, Jul. 31-Aug. 1, 2008, pp. 94-99, 6 pages.
Request for Examination and Amendment filed Aug. 26, 2011 from Korean Patent Application No. 10-2008-7007693, 22 pages.
Response filed Sep. 26, 2012 to the Office Action dated Jul. 31, 2012 from Malaysian Patent Application No. PI 20080636, 9 pages.
Substantive Examination Clear Report dated Aug. 15, 2013 from Malaysian Patent Application No. PI 20080636, 2 pages.
Response filed Apr. 29, 2010 to the Examination Report datd Oct. 12, 2009 from New Zealand Patent Application No. 566701, 17 pages.
Examination Report dated Oct. 12, 2009 from New Zealand Patent Application No. 566701, 2 pages.
Examination Report dated May 18, 2010 from New Zealand Patent Application No. 566701, 1 page.
Response filed May 24, 2010 to the Examination Report dated May 18, 2010 from New Zealand Patent Application No. 566701, 4 pages.
Notice of Acceptance dated Jun. 11, 2010 from New Zealand Patent Application No. 566701, 1 page.
Office Action dated Sep. 9, 2011 from Philippines Patent Application No. 1-2008-500513, 1 page.
Office Action dated Mar. 30, 2010 and English comments from Russian Patent Application No. 20081121996, 4 pages.
Response filed May 13, 2010 from Russian Patent Application No. 20081121996, 8 pages.
Decision on Grant dated Jun. 10, 2010 from Russian Patent Application No. 2008112196/11, 15 pages.
Amendment filed Apr. 9, 2009 from South African Patent Application No. 2008/02681, 3 pages.
Non-Final Office Action dated Jan. 19, 2012 from U.S. Appl. No. 13/190,121, 13 pages.
Response/Amendment filed Apr. 19, 2012 to the Non-Final Office Action dated Jan. 19, 2012 from U.S. Appl. No. 13/190,121, 9 pages.
Appeal Brief filed Sep. 7, 2016 from U.S. Appl. No. 13/190,121, 27 pages.
Notice of Allowance dated Sep. 4, 2012 from U.S. Appl. No. 13/190,121, 8 pages.
Non-Final Office Action dated Dec. 12, 2012 from U.S. Appl. No. 13/190,121, 15 pages.
Response/Amendment and Reply filed Mar. 11, 2013 to the Non-Final Office Action dated Dec. 12, 2012 from U.S. Appl. No. 13/190,121, 11 pages.
Non-Final Office Action dated Jun. 27, 2013 from U.S. Appl. No. 13/190,121, 10 pages.
Response/Amendment and Reply filed Sep. 25, 2013 to the Non-Final Office Action dated Jun. 27, 2013 from U.S. Appl. No. 13/190,121, 11 pages.
Non-Final Office Action dated Jan. 15, 2014 from U.S. Appl. No. 13/190,121, 9 pages.
Response/Amendment and Reply filed Apr. 15, 2014 to the Non-Final Office Action dated Jan. 15, 2014 from U.S. Appl. No. 13/190,121, 14 pages.
Non-Final Office Action dated Jul. 1, 2014 from U.S. Appl. No. 13/190,121, 11 pages.
Response/Amendment and Reply filed Sep. 30, 2014 to the Non-Final Office Action dated Jul. 1, 2014 from U.S. Appl. No. 13/190,121, 15 pages.
Final Office Action dated Jan. 28, 2015 from U.S. Appl. No. 13/190,121, 12 pages.
Pre-Appeal Brief Request and Notice of Appeal filed Apr. 28, 2015 from U.S. Appl. No. 13/190,121, 8 pages.
Notice of Panel Decision from Pre-Appeal Brief Review dated May 19, 2015 from U.S. Appl. No. 13/190,121, 2 pages.
Non-Final Office Action dated Sep. 8, 2015 from U.S. Appl. No. 13/190,121, 12 pages.
Response filed Dec. 8, 2015 to the Non-Final Office Action dated Sep. 8, 2015 from U.S. Appl. No. 13/190,121, 15 pages.
Krumm et al., “Minimizing Calibration Effort for an Indoor 802.11 Device Location Measurement System”, retrieved at «http://research.microsof.com/pubs/68919/tr-2003-82.pdf», Microsoft Research, Tech. Report. MSR-TR-2003-82, Nov. 13, 2003, pp. 1-9, 9 pages.
Applicant-Initiated Interview Summary dated Dec. 7, 2016 from U.S. Appl. No. 13/606,029, 4 pages.
Response filed Dec. 12, 2016 to the Final Office Action dated Oct. 4, 2016 from U.S. Appl. No. 13/606,029, 12 pages.
Examiner's Answer to Appeal Brief dated Dec. 15, 2016 from U.S. Appl. No. 13/190,121, 7 pages.
ExParte Quayle Office Action dated Nov. 17, 2016 from U.S. Appl. No. 14/504,451, 6 pages.
Liao et al., “Learning and Inferring Transportation Routines,” Proceedings of the 19th National Conference on Artificial Intelligence (AAAI), San Jose, CA, 2004, 6 pages.
Lin et al., “Enabling Energy-Efficient and Quality Localization Services”, retrieved on Feb. 5, 2009 at «http://nslab.ee.ntu.edu.tw/publication/conf/qols-percom06.pdf», National Taiwan University, 2006, 4 pages.
Lin et al., “Fuzzy Processing on GPS Data to Improve the Position Accuracy,” IEEE, Dec. 11-14, 1996, pp. 557-562, 6 pages.
Liu et al., “Location Awareness through Trajectory Prediction,” retrieved at «http://www.sis.pitt.edu/˜xliu/papers/ceus.pdf», Computers, Environment and Urban Systems, Elsevier, 2006, 38 pages.
Liu et al., “Remaining Delivery Time Estimation based Routing for Intermittently Connected Mobile Networks”, The 28th International Conference on Distributed Computing Systems Workshops, ICDCS'08, 2008, pp. 222-227, 6 pages.
Losee Jr., Robert M., “Minimizing information overload: the ranking of electronic messages”, Journal of Information Science 15, Elsevier Science Publishers B.V., 1989, pp. 179-189, 11 pages.
Marmasse et al., “A User-Centered Location Model”, Personal and Ubiquitos Computing, 2002(6), pp. 318-321, 4 pages.
Martin et al., “Dynamic GPS-position correction for mobile pedestrian navigation and orientation”, Proceedings of the 3rd Workshop on Positioning, Navigation and Communication, WPNC'06, 2006, pp. 199-208, 10 pages.
Miyashita et al., “A Map Matching Algorithm for Car Navigation Systems that Predict User Destination”, 22nd International Conference on Advanced Information Networking and Applications—Workshops, AINAW, 2008, pp. 1551-1556, 6 pages.
Jadmanabhan, Venkat, “The Quest for Zero-Effort Indoor Localization”, retrieved at «http://www.pdl.cmu.edu/SD1/2012/043012.html» on Apr. 17, 2012, 1 page.
Patterson et al., “Opportunity Knocks: a System to Provide Cognitive Assistance with Transportation Services”, UbiComp 2004: Ubiquitous Computing, Nottingham, UK; Springer, 2004, 18 pages.
Paul et al., “Wi-Fi Based Indoor Localization and Tracking Using Sigma-Point Kalman Filtering Methods”, IEEE/ION Position, Location and Navigation Symposium, May 5-8, 2008, 14 pages.
Peng et al., “BeepBeep: A High Accuracy Acoustic Ranging System using COTS Mobile Devices”, ACM, SenSys '07, Sydney, Australia, Nov. 6-9, 2007, 14 pages.
Jerson, Jon, “Writing Your Own GPS Applications: Part 2”, The Code Project, Dec. 20, 2004, retrieved at «http://www.codeproject.com/KB/mobile/WritingGPSApplications2.aspx», 13 pages.
Renso et al., “Wireless Network Data Sources: Tracking and Synthesizing Trajectories,” retrieved at «http://www.dsc.ufcg.edu.br/˜sampaio/Livros/mobility-data-mining-and-privacy-geographic-knowledge-discover.pdf#page=84», 2008, pp. 73-99, 28 pages.
Rhodes et al., “Remembrance Agent: A continuously running automated information retrieval system”, Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology, 1996, pp. 487-495, 7 pages.
Rhodes, Bradley J., “The wearable remembrance agent: a system for augmented memory”, Personal Technologies Journal Special Issue on Wearable Computing, 1997, 12 pages.
Schindler et al., “City-Scale Location Recognition”, IEEE Computer Society Conference on Computer Vision and Jattem Recognition (CVPR), 2007, 7 pages.
Rish, Irina, “An empirical study of the naïve Bayes classifier”, IJCAI-01 Workshop on Empirical Methods in AI, Nov. 2, 2001, 7 pages.
Robertson et al., “Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounted Inertial Sensors”, 11th International Conference on Ubiquitous Computing, Sep. 30, 2009, pp. 93-96, 4 pages.
Rogoleva, Luba, “Crowdsourcing Location Information to Improve Indoor Localization”, Swiss Federal Institute of Technology Zurich, Department of Computer Science, Institute for Pervasive Computing, Distributed Systems Group, Apr. 30, 2010, pp. 1-91, 91 pages.
Ruairi et al., “An Energy-Efficient, Multi-Agent Sensor Network for Detecting Diffuse Events”, IJCAI-07, 2007, pp. 1390-1395, 6 pages.
Samaan et al., “A User Centric Mobility Prediction Approach Based on Spatial Conceptual Maps,” IEEE International Conference on Communications, vol. 2, 2005, pp. 1413-1417, 5 pages.
Sananmongkhonchai et al., “Cell-based Traffic Estimation from Multiple GPS-Equipped Cars”, IEEE Region 10 Conference, 2009, pp. 1-6, 6 pages.
Schilit et al., “Context-Aware Computing Applications”, Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 8-9, 1994, 7 pages.
Schilit et al., “Customizing Mobile Applications”, Proceedings USENIX Symposium on Mobile and Location-Independent Computing, Aug. 1993, 9 pages.
Schilit et al., “Disseminating Active Map Information to Mobile Hosts”, IEEE Network, vol. 8, No. 5, 1994, 23 pages.
Schilit et al., “The ParcTab Mobile Computing System”, Proceedings Fourth Workshop on Workstation Operating Systems, IEEE WWOS-IV, Oct. 1993, 4 pages.
Schilit, William Noah, “A System Architecture for Context-Aware Mobile Computing”, Columbia University, 1995, 153 pages.
Wu et al., “A Dynamic Navigation Scheme for Vehicular Ad Hoc Networks”, Sixth International Conference on Networked Computing and Advanced Information Management (NCM), 2010, pp. 231-235, 6 pages.
Xie et al., “Development of Navigation System for Autonomous Vehicle to Meet the DARPA Urban Grand Challenge”, Intelligent Transportation Systems Conference, Seattle, WA, IEEE, Sep. 30-Oct. 3, 2007, pp. 767-772, 6 pages.
Xiong et al., “ArrayTrack: A Fine-Grained Indoor Location System”, 13th International Workshop on Mobile Computing System and Applications, Feb. 28, 2012, pp. 1-6, 6 pages.
Xuan et al., “Crowd Sourcing Indoor Maps with Mobile Sensors”, MUS '10, Dec. 6-9, 2010, 12 pages.
Ye et al, “Predict Personal Continuous Route”, Proceedings of the 11th International IEEE Conference on Intelligent Transportation Systems, Beijing, China, Oct. 12-15, 2008, pp. 587-592, 6 pages.
Notice of Allowance dated Dec. 16, 2011 from Japanese Patent Application No. 2008-533377, 6 pages.
Youssef et al., “The Horus WLAN Location Determination System”, The 3rd International Conference on Mobile Systems, Applications and Services, Jun. 6, 2005, pp. 205-218, 14 pages.
Zhang et al., “The Two Facets of the Exploration—Exploitation Dilemma”, Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT '06), 2006, 7 pages.
Zheng et al. “HIPS: A Calibration-less Hybrid Indoor Positioning System Using Heterogeneous Sensors”, IEEE International Conference on Pervasive Computing and Communications, Mar. 9, 2009, pp. 1-6, 6 pages.
Zhu et al., “Indoor/Outdoor Location of Cellular Handsets Based on Received Signal Strength”, Electronics Letters, vol. 41, No. 1, retrieved at «http://ieeexplore.iee.org/stamp/stamp.jsp?arnumber-01543256», Jan. 1, 2005, 140 pages.
U.S. Appl. No. 60/721,879 titled “Predestination” filed Sep. 29, 2005 by Inventors Eric J. Horvitz and John C. Krumm, 31 pages.
Non-Final Office Action dated Sep. 3, 2009 from U.S. Appl. No. 11/426,540, 8 pages.
Response filed Nov. 24, 2009 to the Non-Final Office Action dated Sep. 3, 2009 from U.S. Appl. No. 11/426,540, 9 pages.
Non-Final Office Action dated Apr. 6, 2010 from U.S. Appl. No. 11/426,540, 9 pages.
Response filed Jul. 6, 2010 to the Non-Final Office Action dated Apr. 6, 2010 from U.S. Appl. No. 11/426,540, 11 pages.
Non-Final Office Action dated Oct. 14, 2010 from U.S. Appl. No. 11/426,540, 16 pages.
Response filed Jan. 25, 2011 to the Non-Final Office Action dated Oct. 14, 2010 from U.S. Appl. No. 11/426,540, 12 pages.
Notice of Allowance dated Apr. 15, 2011 from U.S. Appl. No. 11/426,540, 10 pages.
International Search Report dated Jan. 15, 2007 from PCT Patent Application No. PCT/US2006/034608, 2 pages.
International Preliminary Report on Patentability dated Apr. 10, 2008 from PCT Patent Application No. PCT/US2006/034608, 6 pages.
Request for Examination and Voluntary Amendment filed Sep. 2, 2011 from Canadian Patent Application No. 2,620,587, 18 pages.
Office Action dated Mar. 20, 2009 from Chinese Patent Application No. 200680036290.9, 10 pages.
Response filed Jul. 22, 2009 to the Office Action dated Mar. 20, 2009 from Chinese Patent Application No. 200680036290.9, 70 pages.
Second Office Action dated Sep. 4, 2009 from Chinese Patent Application No. 200680036290.9, 7 pages.
Response to the Second Office Action filed Nov. 4, 2009 from Chinese Patent Application No. 200680036290.9, 12 pages.
Notice on Grant of Patent Right for Invention dated Jan. 22, 2010 from Chinese Patent Application No. 200680036290.9, 4 pages.
Extended European Search Report dated Jun. 14, 2012 from European Patent Application No. 06802991.7, 6 pages.
Notice of Rejection (translation) dated May 31, 2011 from Japanese Patent Application No. 2008-533377, 6 pages.
Response filed Aug. 25, 2011 from Japanese Patent Application No. 2008-533377, 2 pages.
Written Opinion dated Jan. 15, 2007 from PCT Patent Application No. PCT/US2006/034608, 4 pages.
Scott et al., “Increased Accuracy of Motor Vehicle Position Estimation by Utilising Map Data, Vehicle Dynamics, and Other Information Sources,” IEEE Vehicle Navigation and Information Systems Conference Proceedings, 1994, pp. 585-590, 6 pages.
Sen et al., “Precise Indoor Localization using PHY Layer Information”, 9th International Conference on Mobile Systems, Applications and Services, Nov. 14-15, 2011, pp. 1-6, 6 pages.
Sen et al., “SpinLoc: Spin Once to Know Your Location”, 13th Workshop on Mobile Computing Systems & Applications, Feb. 28-29, 2012, pp. 1-6, 6 pages.
Shin et al., “Sit-Down & Stand-UpAwareness Algorithm for the Pedestrian Dead Reckoning”, GNSS '09, May 3-6, 2009, 6 pages.
“Announcement/Call for Participation Workshop on Wearable Computing Systems”, Aug. 19-21, 1996, retrieved at «http://wearmcam.org/computing/workshop/index.html» on Jan. 12, 2015, 3 pages.
Simmons et al., “Learning to Predict Driver Route and Destination Intent”, Intelligent Transportation Systems Conference, 2006, IEEE, 2006, pp. 127-132, 6 pages.
Skog et al., “In-Car Positioning and Navigation Technologies—A Survey”, IEEE Transactions on Intelligent Transportation Systems, vol. 10, No. 1, Mar. 2009, pp. 4-21, 18 pages.
Smailagic et al., “Location Sensing and Privacy in a Context-Aware Computing Environment”, IEEE Wireless communications, Oct. 2002, pp. 10-17, 8 pages.
Smith et al., “On the Representation and Estimation of Spatial Uncertainty”, International Journal of Robotics Research, vol. 5, No. 4, May 1986, pp. 56-68, 13 pages.
Spreitzer et al., “Architectural Considerations for Scalable, Secure, Mobile Computing with Location Information”, The 14th International Conference on Distributed Computing Systems, Jun. 1994, pp. 29-38, 10 pages.
Spreitzer et al., “Providing Location Information in a Ubiquitous Computing Environment”, SIGOPS '93, 1993, pp. 270-283, 14 pages.
Spreitzer et al., “Scalable, Secure, Mobile Computing with Location Information”, Communications of the ACM, vol. 36, No. 7, Jul. 1993, 1 page.
Starner, Thad Eugene, “Wearable Computing and Contextual Awareness”, Massachusetts Institute of Technology, Jun. 1999, 248 pages. (2 parts).
Subramanian et al., “Drive-by Localization of Roadside WiFi Networks”, IEEE Infocom Conference, Apr. 13-18, 2008, pp. 718-725, 9 pages.
Sun et al., “Signal Processing Techniques in Network-Aided Positioning—A survery of state-of-the-art positioning designs”, IEEE Signal Processing Magazine, Jul. 2005, 12 pages.
Terada et al., “Design of a Car Navigation System that Predicts User Destination”, Porceedings of the 7th International Conference on Mobile Data Management, MDM '06, 2006, 6 pages.
Theimer et al., “Operating System Issues for PDA's”, Fourth Workshop on Workstation Operating Systems, 1993, 7 pages.
Thiagarajan et al., “Cooperative Transit Tracking using Smart-phones”, SenSy'10, Zurich, Switzerland, Nov. 3-5, 2010, pp. 85-98, 14 pages.
Toledo-Moreo et al., “Lane-Level Integrity Provision for Navigation and Map Matching With GNSS, Dead Reckoning, and Enhanced Maps”, IEEE Transactions on Intelligent Transportation Systems, vol. 11, No. 1, Mar. 2010, pp. 100-112, 13 pages.
Toledo-Moreo et al., “Performance Aspects of Navigation Systems for GNSS-Based Road User Charging”, Proceedings of ION GNSS 2010, Sep. 2010, 9 pages.
Vanajakshi et al., “Support Vector Machine Technique for the Short Term Prediction of Travel Time”, Proceedings of the 2007 IEEE Intelligent Vehicles Symposium, Jun. 13-15, 2007, pp. 600-605, 6 pages.
Vaughan-Nichols, Steven J., “Will Mobile Computing's Future Be Location, Location, Location?”, Computer Magazine, IEEE, vol. 42, Issue 2, Feb. 2009, pp. 14-17, 4 pages.
Want et al., “The Active Badge Location System”, ACM Transactions on Information Systems, vol. 10, No. 1, Jan. 1992, pp. 91-102, 12 pages.
Want et al., “Active Badges and Personal Interactive Computing Objects”, IEEE Transactions on Consumer Electronics, vol. 38, No. 1, Feb. 1992, 11 pages.
Wei et al., “PATS: A Framework of Pattern-Aware Trajectory Search”, IEEE Eleventh International Conference on Mobile Data Management (MDM), May 23, 2010, pp. 372-377, 6 pages.
Wei et al., “Development of Freeway Travel Time Forecasting Models by Integrating Different Sources of Traffic Data”, IEEE Transactions on Vehicular Technology, vol. 56, Issue 6, Part 2, Nov. 2007, pp. 3682-3694, 13 pages.
Weiser, Mark, “Some Computer Science Issues in Ubiquitous Computing”, Communications of the ACM, vol. 36, No. 7, Jul. 1993, pp. 75-84, 10 pages.
Weiser, Mark, “The Computer for the 21st Century”, Scientific American, Sep. 1991, 8 pages.
Wendlandt et al., “Continuous location and direction estimatiion with multiple sensors using particle filtering”, International Conference on Multisensory Fusion and Integration for Intelligent Systems, IEEE, Sep. 2006, 6 pages.
Related Publications (1)
Number Date Country
20170211938 A1 Jul 2017 US
Continuations (1)
Number Date Country
Parent 13183050 Jul 2011 US
Child 15181091 US