Using radio-based Wireless Fidelity (or Wi-Fi, a trademark of the Wi-Fi Alliance) sources to perform indoor positioning has attracted increased attention in the recent. These Wi-Fi sources include mobile devices, such as smartphones. However, building an accurate and stable indoor positioning system remains a challenging task.
One reason that this is a challenging task is that radio signals propagate in a complicated manner and are often affected by noise and other sources. This can result in unstable and noisy signal strength readings. Another reason that makes this takes challenging is that physical characteristics in an indoor setting (such as walls, furniture, computers, and elevators) can affect the Received Signal Strength Indication (RSSI). In addition, movement of persons within the indoor environment can also adversely affect the RSSI. Another factor adding to the challenge is that human indoor movement tends to be less predictable and endures less physical constraints as compared to vehicles on highways.
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.
Embodiments of the path progression matching system and method use a path progression approach to find a current position of a mobile device in an indoor environment. Moreover, embodiments of the path progression matching system and method use a path history to find the current path that was taken by the mobile device to get to the current position. The use of a path progression matching technique increases accuracy and robustness of the results.
Embodiments of the path progression matching system and method tackle the indoor positioning problem by using the path progression matching technique that takes positioning in a dynamic and real time context. Embodiments of the system and method use path history information and indoor physical constraints effectively to achieve desired accuracy and robustness. Other optimization measures such as the use of received signal strength indicators (RSSI) weighted correlation coefficient, a Maximum Ordinal Difference technique, a walking speed constraint, and probabilities of points of interest are also employed.
Embodiments of the system and method include a unified probabilistic model. The model uses path history information and allows multiple constraints to be applied simultaneously, thereby increasing positioning accuracy and robustness. In addition, the model is dynamic, flexible, and adaptive which permits the self-learning and self-correction so that it avoids being trapped in a local maximum. The unified probabilistic model uses a variety of weights and constraints to score the probability that the mobile device is in a certain position. The unified probabilistic model 210 makes embodiments of the path progression matching system 100 and method robust in a variety of situations. It is helpful to employ as many constraints as possible in order to achieve high positioning accuracy and stability.
Embodiments of the system and method also include a maximum ordinal difference module. This is an optional module that addresses the problem that the unified probabilistic model may have of occasionally finding an incorrect match. A maximum ordinal difference score is computed for a set of signals and a threshold is used to identify and disqualify such bad matches.
Embodiments of the system and method also include a path progression module. The path progression module determines a current location of the mobile device and the path taken to get to that current location. Embodiments of the path progression module include the first-stage progression module, a second-stage progression module, and a third-stage progression module. The first-stage module is used to find a starting location for the path progression matching technique. This first-stage module uses an RSSI weight to determine a first position of the mobile device at a first time.
A second-stage module is used to begin a path matching technique. Embodiments of the second-stage module find a second position of the mobile device at a second time, which is later in time than the first time. A second-stage network distance circle is computed based on a maximum distance that a person can walk within the given time. For each point within the circle an RSSI weight correlation coefficient is computed. The points with the highest coefficient scores are selected as the ToNodes for potential paths, while top-scoring points from the first stage are selected as the FromNodes for the potential paths.
A path weight is computed for each potential path using the unified probabilistic model. The potential path having the highest path weight is selected as the first most probable path that the mobile device took to get to the current position. Moreover, the ToNode of the first most probable path is selected as the second position of the mobile device at the second time.
A third-stage (and higher stage) module is used to continue the path matching technique by making use of the path history. Similar to the second-stage module, a second most probable path is computed and the ToNode for that path is designated as the third position at the third time. Higher progressions repeat the process set forth in the third-stage module to find a current position of the mobile device and a most probable path at a certain time. Embodiments of the path progression matching technique also include a maximum path weight module that prevents the path weights from becoming too small.
It should be noted that alternative embodiments are possible, and that steps and elements discussed herein may be changed, added, or eliminated, depending on the particular embodiment. These alternative embodiments include alternative steps and alternative elements that may be used, and structural changes that may be made, without departing from the scope of the invention.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description of embodiments of the path progression matching system and method reference is made to the accompanying drawings, which form a part thereof, and in which is shown by way of illustration a specific example whereby embodiments of the path progression matching system and method may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the claimed subject matter.
I. System Overview
In particular, as shown in
The RSS data is processed by embodiments of the path progression matching system 100 and method to obtain the current position of the mobile device (box 140). The current position can be communicated to an application 150 that communicates with the computing device 110 over a computer network 160. In some embodiments the application 150 will request the current position over the computer network 160. In other embodiments, the application 150 will reside on the computing device 110. The dashed lines in
The unified probabilistic model 210 includes various optimization measures and constraints that help provide accurate information about the location of the mobile device. The output of the unified probabilistic model 210 is a plurality of weight expressions 240 that are used to find the location of the mobile device as well as the path that the mobile device has previously taken. The initialization module 220 is used to initialize the variables, queues, and lists used to determine the current position and path of the mobile device.
Embodiments of the path progression module 230 include a first-stage progression module 250, a second-stage progression module 260, a third-stage progression module 270, and a maximum path weight module 280. The first-stage progression module 250 determines the current location of the mobile device from a first set of RSS data. At this point there is no path information. The second-stage progression module 260 adds a second set of RSS data and finds a most probable path. This path is added to a list for use by later stages of the progression. The third-stage progression module 270 uses data from previous paths (or path history data) to obtain an up-to-date position and determine a path taken to get to that position. This progression pattern is used for the third stage and all subsequent stages. The progression can be repeated for as long as desired in order to track and find the current location of the mobile device.
The maximum path weight module 280 alleviates the situation where the path weight becomes too small as the progression moves forward in time. A threshold and normalizing procedure is used to ensure that the path weight stays above the threshold. The output of embodiments of the path progression module 230 is the current position of the mobile device (box 140).
II. Operational Overview
Embodiments of the path progression matching system 100 then obtain a second set of RSS data from the mobile device at a second time that is later than the first time (box 315). Embodiments of the system 100 then find a second position of the mobile device at the second time using the second set of RSS data (box 320). This second position of the mobile device then is output (box 325). A first most probable path of the mobile device between the first position and the second position is calculated (box 330). This first most probable path is added to a path history list (box 335).
Embodiments of the system 100 then obtain a third set of RSS data from the mobile device at a third time that is later than the second time (box 340). A third position of the mobile device at a third time is found using the third set of RSS data (box 345). The third position of the mobile device is output (box 350). A second most probable path of the mobile device between the second position and the third position is computed based on the path history list (box 355). This progression is repeated such that the obtaining of the RSS data, the finding of the position of the mobile device, and the calculation of a most probable path based on the path history list are performed for as long as is desired to find the current location and path of the mobile device in the indoor environment (box 360).
III. System and Operational Details
The system and the operational details of embodiments of the path progression matching system 100 and method now will be discussed. These embodiments include embodiments of the unified probabilistic model 210, the maximum ordinal difference module 200, the initialization module 220, and the path progression module 230. The system and operational details of each of these modules now will be discussed in detail.
Embodiments of the path progression matching system 100 and method use a unified probabilistic model 210 to score the probability that a mobile device is in a certain position. The unified probabilistic model 210 makes embodiments of the path progression matching system 100 and method robust in a variety of situations. A robust indoor position system has great value for indoor positioning and routing in a variety of scenarios such as retail stores, airports, and large conference centers. As Wi-Fi readings on moving mobile devices tend to be unstable and unpredictable, it is advantageous to employ as many constraints as possible in order to achieve high positioning accuracy and stability.
Embodiments of the path progression matching system 100 and method use the unified probabilistic model 210, which incorporates the following constraints:
Embodiments of the path progression matching system 100 and method determine a current position of a mobile device by finding the path having the largest weight. Embodiments of the path progression matching system 100 and method determine the weight of a path from the path's FromNode Weight and its ToNode Weight. Mathematically, the Path Weight, Wp, is determined by its FromNode Weight, Wfrom, and its ToNode Weight, Wto, as follows:
Wp=Wfrom×Wto
The FromNode Weights and ToNode Weights are determined using the unified probabilistic model discusses above that can incorporate any combination of the above-mentioned constraints. Mathematically, the FromNode Weights or ToNode Weight can be written as:
Wfrom(or Wto)=Wrss×Wnet×Wstep×Wcomp
where,
Wcomp is the weight obtained from compass data check, given by:
Wcomp=1−|A−AC|/180,
where A is the azimuth angle of this point position relative to previous point position, and AC is the measured azimuth angle with a compass sensor.
The weights for other sensors' measurements are only applicable if the data is available, and the new weights can be introduced in a similar manner if any new sensors' measurements can bring additional insight to the mobile device's position.
The use of weighted normalized correlation coefficients has the advantage that it is not affected by the Received Signal Strength (RSS) values. Instead, it depends more upon the relative RSS pattern among multiple Wi-Fi access points. This is particularly useful as different mobile devices tend to have different RSS readings.
However, it has its vulnerability too. For example, it may find the incorrect match, such as a far away point having a similar pattern. This may occur especially when a fixed number of strongest Wi-Fi signals are used for the sake of positioning reliability, because the use of stronger Wi-Fi signals is more beneficial to the positioning reliability.
In order to address this problem, embodiments of the path progression matching system 100 and method include the maximum ordinal difference module 200 that uses a measure called a “Maximum Ordinal Difference” (MOD) to spot such bad matches. An example will be used to illustrate the MOD. Assume that a mobile device at point 1 receives 5 Wi-Fi signals and the strongest signal is from the access point A. In other words, its ordinal index is 0. At point 2, assume that the signal from the access point A ranks the fourth strongest. In other words, its ordinal index is 3. Therefore, the ordinal difference for the access point A is 3 (=3−0).
The maximum ordinal difference is the maximum value among all the five access points' ordinal differences. In practice, some embodiments of the path progression matching system 100 use a MOD threshold to identify and disqualify such bad matches. For instance, if the MOD threshold is 4 such that the 4 strongest Wi-Fi signals are used for pattern matching, then any match with a MOD greater than or equal to 4 is disqualified.
Embodiments of the path progression matching system 100 include an initialization module 220. In general, embodiments of the initialization module 220 find the initial location of a mobile device and give embodiments of the path progression matching system 100 and method a place to begin the path progression.
Next, embodiments of the initialization module 220 create a Wi-Fi signal data queue (box 510). Initially, the Wi-Fi signal data queue is initialized to zero (box 520). The empty Wi-Fi signal data queue is specified with a specific capacity (box 530). By way of example, in some embodiments the capacity is equal to three. The larger the capacity of the Wi-Fi signal data queue, then a more powerful filtering effect is seen in filtering out abnormal signal readings. However, increasing the capacity also increase the severity of the time delay effect.
The Wi-Fi signal data includes a dictionary of value pairs including the Wi-Fi Source (or beacon's Media Access Control (MAC) address) where the signal originated and its Received Signal Strength Indicators (RSSI) reading. The use of the median values from the Wi-Fi signal data queue helps remove abnormal RSSI readings that occasionally occur. The exact time for each snapshot that the Wi-Fi signals are measured is also stored in the Wi-Fi signal data queue.
Next, embodiments of the initialization module 220 create a path history list (box 540) and initialize the path history list to zero (box 550). The path history list is a list of paths previously traversed by the mobile device. A “path” is defined by a FromNode, which is where the path originates from, and a ToNode, which is where a path terminates. Each path has three weights: (a) a “FromNode weight,” a “ToNode weight,” and a “Path Weight.” The path with the maximum weight among all possible paths is designated as the “most probable path” and its “ToNode” is taken as the position to be determined.
As used here, the “weight” represents the likelihood of a mobile device user being at that node's location or following that specific path. A “Position Tracker” is a module that is used to keep track of a mobile user's position history. It includes the following information: (a) a Wi-Fi signal data queue that includes the most recently added Wi-Fi signals data series with time stamp; and, (b) a path collection list that stores all the previous possible paths. Each mobile device being tracked has its own Position Tracker responsible for its positioning task.
Embodiments of the path progression module 230 determine the current location of the mobile device and the path taken to get to that current location. Embodiments of the path progression module 230 include the first-stage progression module 250, the second-stage progression module 260, the third-stage progression module 270, and the maximum path weight module 280. Each of these modules will now be discussed in detail.
III.D.i. First-Stage Progression Module
Embodiments of the first-stage progression module 250 are used to find a starting location for the path progression matching technique used by embodiments of the path progression matching system 100.
Next, the first signal data series is used to find an approximate initial position (box 610). This represents the first position at a first time. In some embodiments a pattern matching technique is applied to survey points in order to find the approximate initial position. As noted above, a survey point is a known indoor location where Wi-Fi signals are measured and the location where the RSS values are recorded and associated. The pattern matching technique conducts a coarse matching but still ensures robustness. This robustness means that the error term is less than a certain distance. In some embodiments, the error term is less than 20 meters. Then a first-stage circle is drawn around the first position, where the first-stage circle has a radius equal to a network distance and is called a first-stage network distance circle (box 620). Each of the neighboring points around the first position that lie within the first-stage network distance circle then are selected (box 630).
Embodiments of the first-stage progression module 250 then perform refinement matching. Refinement matching includes selecting the top N points within the first-stage network distance circle (box 640). In some embodiments the value of N equals ten, such that the top N=10 points are selected. Calculating the top N points may be done using a plurality of different techniques. In some embodiments, the top N points are found by finding the RSSI weighted coefficient for each point. This involves first computing an RSSI weight for each point in the first-stage network distance circle (box 650). The RSSI weight, Wi, is given by the equation,
where Si is the Wi-Fi RSSI reading in decibels (dB). From the RSSI weight an RSSI Weighted Correlation Coefficient is computed for each point (box 660). The RSSI Weighted Correlation Coefficient, WRSS, is given by the equation,
where Wi is the RSSI weight, Xi is the input signal RSS value of the ith Wi-Fi access point, yi is the RSS value of the ith Wi-Fi access point at a known location, and n is the number of Wi-Fi access points that are used to compute the correlation coefficient.
The points with the top N highest RSSI Weight Correlation Coefficients are selected as the From Nodes for potential paths (box 670). The point from the selected top N points within the circular buffer points having the highest correlation coefficient then is selected as the current location (box 680). In addition, this current location is the From Node and the current output location for embodiments of the path progression matching system 100. In particular, the first position is output as the current position at the first time (box 690). Note that at this moment only the RSSI Weighted Correlation Weight, WRSS, is used. All other weights are set to a value of one. It should be noted that a larger weight is assigned to the stronger Wi-Fi signal readings.
III.D.ii. Second-Stage Progression Module
Embodiments of the second-stage progression module 260 are used to begin a path matching technique for embodiments of the path progression matching system 100.
Embodiments of the second-stage progression module 260 then obtain a maximum walking speed (box 710). Next, a maximum traversable distance is computed based on the elapsed time between a first-stage time (the time at which the first signal data series was acquired) and a second-stage time (the time at which the second signal data series was acquired), and the maximum walking speed (box 720).
The pattern matching technique and the maximum traversable distance are used to find a second approximate position of the mobile device at a second time (box 730). Then a second-stage network distance circle is drawn around the second approximate position at the second time, where the circle has a radius equal to a network distance at the second time and is called a second-stage network distance circle (box 740). Each of the neighboring points around the second approximate position at the second time that lie within the second-stage network distance circle then are selected (box 750).
Embodiments of the second-stage progression module 260 then select the top N points within the second-stage network distance circle (box 760). As noted above, calculating the top N points may be done using a plurality of different techniques, including using the RRSI weighted coefficient for each point. The points in the second-stage network distance circle having the top N highest RSSI Weight Correlation Coefficients are selected as the ToNodes for potential paths (box 770). The neighboring points around the first position (which was computed by the first-stage progression module 250) are selected as the FromNodes of all possible paths (box 775). The total number of possible paths is M*N, where M is the number of FromNodes and N is the number of ToNodes.
The weight of a path is computed as the product of a FromNode Weight and a ToNode Weight. As noted above, a limit is place on the number of FromNodes and the number of ToNodes. By way of example, in the embodiments where M=10 and N=10, then the maximum number of paths is 100 (10×10). The Path Weight for each of the paths then is computed (box 780). The path having the highest Path Weight is selected as a first most probable path (box 785). The ToNode of the first most probable path is selected as the current location (or second position) at the second time (box 790). In addition, this second position at the second time is the current output location for embodiments of the path progression matching system 100 at the second time (box 795).
III.D.iii. Third-Stage Progression Module
Embodiments of the third-stage progression module 270 are used to continue the path matching technique for embodiments of the path progression matching system 100.
To Nodes at a third time are selected based on the current location at the second time and the maximum traversable distance (box 830). Next, the ToNodes weights are computed using the RSSI Weighted Correlation Coefficients, as described above (box 840). The Path Weight of each path's weight is computed as the multiplication of the FromNode Weight and the ToNode Weight of that path (box 850). The path having the highest Path Weight is selected as the second most probable path at the third time (box 860). The ToNode of the second most probable path is selected as a third position (and the current location) at the third time (box 870). In addition, this third position at the third time is the current output location for embodiments of the path progression matching system 100 at the third time (box 880). It should be noted that subsequent stages (or progressions) follow a similar process as shown in
III.D.iv. Maximum Path Weight Module
Embodiments of the path progression module 230 include a maximum path weight module 280 that prevents the Path Weight from getting too small. Because the Path Weight is obtained by node weight multiplication and previous paths' weight become the current paths' FromNode weight, the current paths' weight will become smaller and smaller as the progression advances. Embodiments of the maximum path weight module 280 are used to avoid its being too small to be insignificant as represented in a computer.
IV. Exemplary Operating Environment
Embodiments of the path progression matching system 100 and method are designed to operate in a computing environment. The following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the path progression matching system 100 and method may be implemented.
Embodiments of the path progression matching system 100 and method are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with embodiments of the path progression matching system 100 and method include, but are not limited to, personal computers, server computers, hand-held (including smartphones), laptop or mobile computer or communications devices such as cell phones and PDA's, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Embodiments of the path progression matching system 100 and method may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Embodiments of the path progression matching system 100 and method may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. Still further, the aforementioned instructions could be implemented, in part or in whole, as hardware logic circuits, which may or may not include a processor.
With reference to
The computer 1010 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the computer 1010 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile 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 includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk 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 the computer 1010. By way of example, and not limitation, communication media includes 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 should also be included within the scope of computer readable media.
The system memory 1030 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1031 and random access memory (RAM) 1032. A basic input/output system 1033 (BIOS), containing the basic routines that help to transfer information between elements within the computer 1010, such as during start-up, is typically stored in ROM 1031. RAM 1032 typically includes data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1020. By way of example, and not limitation,
The computer 1010 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 1041 is typically connected to the system bus 1021 through a non-removable memory interface such as interface 1040, and magnetic disk drive 1051 and optical disk drive 1055 are typically connected to the system bus 1021 by a removable memory interface, such as interface 1050.
The drives and their associated computer storage media discussed above and illustrated in
Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, radio receiver, or a television or broadcast video receiver, or the like. These and other input devices are often connected to the processing unit 1020 through a user input interface 1060 that is coupled to the system bus 1021, but may be connected by other interface and bus structures, such as, for example, a parallel port, game port or a universal serial bus (USB). A monitor 1091 or other type of display device is also connected to the system bus 1021 via an interface, such as a video interface 1090. In addition to the monitor, computers may also include other peripheral output devices such as speakers 1097 and printer 1096, which may be connected through an output peripheral interface 1095.
The computer 1010 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 1080. The remote computer 1080 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 1010, although only a memory storage device 1081 has been illustrated in
When used in a LAN networking environment, the computer 1010 is connected to the LAN 1071 through a network interface or adapter 1070. When used in a WAN networking environment, the computer 1010 typically includes a modem 1072 or other means for establishing communications over the WAN 1073, such as the Internet. The modem 1072, which may be internal or external, may be connected to the system bus 1021 via the user input interface 1060, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 1010, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The foregoing Detailed Description has been presented for the purposes of illustration and description. Many modifications and variations are possible in light of the above teaching. It is not intended to be exhaustive or to limit the subject matter described herein to the precise form disclosed. 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 appended hereto.
Number | Name | Date | Kind |
---|---|---|---|
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 |
5603054 | Theimer et al. | Feb 1997 | A |
5611050 | Theimer et al. | Mar 1997 | A |
5812865 | Theimer et al. | Sep 1998 | A |
5842130 | Oprescu-Surcobe et al. | Nov 1998 | A |
5943621 | Ho et al. | Aug 1999 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
5978732 | Kakitani et al. | Nov 1999 | A |
6052598 | Rudrapatna et al. | Apr 2000 | A |
6122572 | Yavnai | Sep 2000 | A |
6353398 | Amin et al. | Mar 2002 | B1 |
6466232 | Newell et al. | Oct 2002 | B1 |
6480783 | Myr | Nov 2002 | B1 |
6513046 | Abbott, III et al. | Jan 2003 | B1 |
6549915 | Abbott, III et al. | Apr 2003 | B2 |
6574351 | Miyano | Jun 2003 | B1 |
6615130 | Myr | Sep 2003 | B2 |
6672506 | Swartz 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 |
6801223 | Abbott et al. | Oct 2004 | B1 |
6812937 | Abbott et al. | Nov 2004 | B1 |
6837436 | Swartz et al. | Jan 2005 | B2 |
6842877 | Robarts et al. | Jan 2005 | B2 |
6992625 | Krumm et al. | Jan 2006 | B1 |
7010501 | Roslak et al. | Mar 2006 | B1 |
7040541 | Swartz et al. | May 2006 | B2 |
7063263 | Swartz et al. | Jun 2006 | B2 |
7084762 | Pedrazzini et al. | Aug 2006 | B2 |
7116987 | Spain et al. | Oct 2006 | B2 |
7116988 | Dietrich et al. | Oct 2006 | B2 |
7127213 | Haymes et al. | Oct 2006 | B2 |
7162367 | Lin et al. | Jan 2007 | B2 |
7171378 | Petrovich et al. | Jan 2007 | B2 |
7195157 | Swartz et al. | Mar 2007 | B2 |
7215969 | Benco et al. | May 2007 | B2 |
7233861 | Van Buer et al. | Jun 2007 | B2 |
7250907 | Krumm et al. | Jul 2007 | B2 |
7385501 | Miller et al. | Jun 2008 | B2 |
7433696 | Dietrich et al. | Oct 2008 | B2 |
7512462 | Nichols et al. | Mar 2009 | B2 |
7590589 | Hoffberg | Sep 2009 | B2 |
7617042 | Horvitz et al. | Nov 2009 | B2 |
7630986 | Herz et al. | Dec 2009 | B1 |
7705728 | Mock et al. | Apr 2010 | B2 |
7796966 | Bhattacharya et al. | Sep 2010 | B2 |
7813870 | Downs et al. | Oct 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 |
8024112 | Krumm et al. | Sep 2011 | B2 |
8174447 | Loidl et al. | May 2012 | B2 |
8180366 | Ernst et al. | May 2012 | 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 |
20020052930 | Abbott et al. | May 2002 | A1 |
20020052963 | Abbott et al. | May 2002 | A1 |
20020054130 | Abbott, III et al. | May 2002 | A1 |
20020054174 | Abbott et al. | May 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 |
20030046401 | Abbott et al. | Mar 2003 | A1 |
20030154476 | Abbott, III et al. | Aug 2003 | A1 |
20040068364 | Zhao et al. | Apr 2004 | A1 |
20040201500 | Miller et al. | Oct 2004 | A1 |
20050034078 | Abbott et al. | Feb 2005 | A1 |
20050228553 | Tryon | Oct 2005 | A1 |
20050261004 | Dietrich et al. | Nov 2005 | A1 |
20050266858 | Miller et al. | Dec 2005 | A1 |
20050272442 | Miller et al. | Dec 2005 | A1 |
20060019676 | Miller et al. | Jan 2006 | A1 |
20060241862 | Ichihara et al. | Oct 2006 | A1 |
20080090591 | Miller et al. | Apr 2008 | A1 |
20080091537 | Miller et al. | Apr 2008 | A1 |
20080161018 | Miller et al. | Jul 2008 | A1 |
20080191941 | Saban et al. | Aug 2008 | A1 |
20090043504 | Bandyopadhyay et al. | Feb 2009 | A1 |
20090191892 | Kelley | Jul 2009 | A1 |
20100039929 | Cho et al. | Feb 2010 | A1 |
20100079334 | Roh et al. | Apr 2010 | A1 |
20100097269 | Loidl et al. | Apr 2010 | A1 |
20100156708 | Chen | Jun 2010 | A1 |
20100161179 | Mcclure et al. | Jun 2010 | A1 |
20100250133 | Buros | Sep 2010 | A1 |
20100255858 | Juhasz | Oct 2010 | A1 |
20100324813 | Sundararajan et al. | Dec 2010 | A1 |
20110050493 | Torimoto et al. | Mar 2011 | A1 |
20110071759 | Pande et al. | Mar 2011 | A1 |
20110151898 | Chandra et al. | Jun 2011 | A1 |
20110163914 | Seymour | Jul 2011 | A1 |
20110191052 | Lin et al. | Aug 2011 | A1 |
20130018581 | Sidhu et al. | Jan 2013 | A1 |
20130018629 | Sidhu et al. | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
10042983 | Mar 2002 | DE |
2007-083678 | Mar 1995 | JP |
2008-271277 | Oct 1996 | JP |
10132593 | May 1998 | JP |
2011-153446 | Aug 1999 | JP |
2002-328035 | Nov 2002 | JP |
2004-317160 | Nov 2004 | JP |
19970071404 | Nov 1997 | KR |
20040033141 | Apr 2004 | KR |
20040050550 | Jun 2004 | KR |
8141 | Oct 1998 | RU |
WO 9800787 | Jan 1998 | WO |
Entry |
---|
Koyuncu, et al., “A Survey of Indoor Positioning and Object Locating Systems”, Retrieved at << http://paper.ijcsns.org/07—book/201005/20100518.pdf >>, IJCSNS International Journal of Computer Science and Network Security, vol. 10, No. 5, May 2010, pp. 121-128. |
Cabero, et al., “Indoor People Tracking Based on Dynamic Weighted Multi Dimensional Scaling”, Retrieved at << http://www.ri.cmu.edu/pub—files/pub4/maria—cabero—jose—2007—1/maria—cabero—jose—2007—1.pdf >>, 10th International Symposium on Modeling, Analysis and Simulation of Wireless and Mobile Systems, Oct. 22-26, 2007, pp. 8. |
Zhu, et al., “Indoor/Outdoor Location of Cellular Handsets Based on Received Signal Strength”, Retrieved at << http://ieeexplore.ieee.org/stamp/stamp.jsp?amumber=01543256 >>, Electronics Letters, vol. 41, No. 1, Jan. 6, 2005, pp. 2. |
De Moraes, et al., “Calibration-Free WLAN Location System Based on Dynamic Mapping of Signal Strength”, Retrieved at << http://www.ravel.ufrj.br/arquivosPublicacoes/WAC11-demoraes.pdfs >>, 9th International Symposium on Modeling, Analysis and Simulation of Wireless and Mobile Systems, Oct. 2-6, 2006, pp. 8. |
Rogoleva, Luba., “Crowdsourcing Location Information to Improve Indoor Localization”, Retrieved at << http://e-collection.ethbib.ethz.ch/eserv/eth:1224/eth-1224-01.pdf >>, Master Thesis, Apr. 30, 2010, pp. 91. |
Paul, et al., “Wi-Fi Based Indoor Localization and Tracking Using Sigma-Point Kalman Filtering Methods”, Retrieved at << http://www.cse.ogi.edu/˜anindya/Paul—Wan—Plans08.pdf >>, IEEE/ION Position, Location and Navigation Symposium, May 5-8, 2008, pp. 14. |
Beard, K., et al., “Estimating positions and paths of moving objects”, Temporal Representation and Reasoning, 2000. TIME 2000. Proceedings. Seventh International Workshop on; Digital Object Identifier: 10.1109/TIME.2000.856597 Publication Year: 2000, pp. 155-162. |
Billinghurst, Mark, et al., “An Evaluation of Wearable Information Spaces”, Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages. |
Billinghurst, Mark, et al., “Research Directions in Wearable Computing”, University of Washington, May, 1998, 48 pages. |
Billinghurst, Mark, et al., “Wearable Devices: New Ways to Manage Information”, IEEE Computer Society, Jan. 1999, pp. 57-64. |
Chen, Guanling, et al., “A Survey of Context-Aware Mobile Computing Research,” Dartmouth Computer Science Technical Report, 2000, 16 pages. |
Choi, Jae-Hyeong,et al., “Performance evaluation of traffic control based on geographical information”, Intelligent Computing and Intelligent Systems, 2009. ICIS 2009. IEEE International Conference on; vol. 3; Publication Year: 2009, pp. 85-89. |
Chun, Byung-Gon et al., “Clone Cloud: Elastic Execution between Mobile Device and Cloud”, In Proceedings of EuroSys 2011, available at <http://eurosys2011.cs.uni-salzburg.at/pdf/eurosys2011-chun.pdf> (Apr. 2011), 14 pages. |
Collin, Jussi et al., “Indoor Positioning System using Accelerometry and High Accuracy Heading Sensors”, In Proceedings of GPS/GNSS 2003, Available at <http://plan.geomatics.ucalgary.ca/papers/gps03jussic.pdf>, (Sep. 2003), pp. 1-7. |
Goyal, Vishal, “MEMS based motion sensing design,” retrieved at <<http://eeherald.com/section/design-guide/mems—application.html>>, EE Herald, retrieved Jul. 9, 2012, 2 pages. |
Gusenbauer, et al., “Self-Contained Indoor Positioning on Off-The-Shelf Mobile Devices”, retrieved at >>http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=05646681>>, International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sep. 2010, 9 pages. |
Harter, Andy, et al., “A Distributed Location System for the Active Office,” IEEE Network, 1994, pp. 62-70. |
Horvitz, Eric, et al., “Attention-Sensitive Alerting in Computing Systems”, Microsoft Research, Aug. 1999. |
Horvitz, Eric, et al., “In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Inference”, Speech Understanding, and User Models,1995, 8 pages. |
Jimenez, A.R., 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, Aug. 26-28, 2009, Budapest, Hungary, pp. 37-42. |
Jin, Yunye et al., “A Robust Dead-Reckoning Pedestrian Tracking System with Low Cost Sensors”, 2011 IEEE International Conference on Pervasive Computing and Communications (PerCom), Seattle, WA, Mar. 21-25, 2011, (Mar. 21, 2011), pp. 222-230. |
Joachims, T., “Text categorization with support vector machines: learning with many relevant features”, Machine Learning, European Conference on Machine Learning, Apr. 21, 1998, pp. 137-142. |
Kostov, V., et al., “Travel destination prediction using frequent crossing pattern from driving history”, Intelligent transportation Systems, 2005. Proceedings. 2005 IEEE; Digital Object Identifier: 10.1109/ITSC.2005.1520182 Publication Year: 2005, pp. 343-350. |
Krumm, “Predestination: Where Do You Want to Go Today?”; Computer; vol. 40, Issue 4; Apr. 2007; pp. 105-107. |
Lachapelle, Gerard, “GNSS Indoor Location Technologies”, Journal of Global Positioning Systems (2004) vol. 3, No. 1-2, (Nov. 15, 2004), pp. 2-11. |
Lee, Junghoon, et al., “Design and implementation of a movement history analysis frame-work for the Taxi telematics system”, Communications, 2008. APCC 2008. 14th Asia-Pacific Conference on; Publication Year: 2008, pp. 1-4. |
Liu, Feng, et al., “Remaining Delivery Time Estimation Based Routing for Intermittently Connected Mobile Networks”, Distributed Computing Systems Workshops, 2008. ICDCS '08. 28th International Conference, Publication Year: 2008, pp. 222-227. |
Losee, Robert M. Jr., “Minimizing information overload: the ranking of electronic messages”, Journal of Information Science 15, Elsevier Science Publishers B.V., 1989, pp. 179-189. |
Miyashita, K. et al., “A Map Matching Algorithm for Car Navigation Systems that Predict User Destination”, Advanced Information Networking and Applications—Workshops, 2008. AINAW 2008. 22nd International Conference, Publication Year: 2008, pp. 1551-1556. |
Rhodes, Bradley J., “Remembrance Agent: A continuously running automated information retrieval system”, the Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology,1996, pp. 487-495. |
Rhodes, Bradley J., “The Wearable Remembrance Agent: A System for Augmented Memory”, Personal Technologies Journal Special Issue on Wearable Computing, 1997, 12 pages. |
Rhodes, Bradley J., “The Wearable Remembrance Agent: A System for Augmented Theory”, The Proceedings of the First International Symposium on Wearable Computers, Oct. 1997, pp. 123-128. |
Sananmongkhonchai, S. et al., “Cell-based traffic estimation from multiple GPS-equipped cars”, 2009 IEEE Region 10 Conference Publication Year: 2009, pp. 1-6. |
Schilit, Bill, et al., “Context-Aware Computing Applications”, In Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 1994, pp. 85-90. |
Schilit, Bill, et al., “Customizing Mobile Applications”, Proceedings USENIX Symposium on Mobile and Location Independent Computing, Aug. 1993, 9 pages. |
Schilit, Bill, et al., “Disseminating Active Map Information to Mobile Hosts”, IEEE Network, 1994 pp. 22-32, vol. 8—No. 5. |
Schilit, Bill, et al., “The ParcTab Mobile Computing System”, IEEE WWOS-IV, 1993, 4 pages. |
Schilit, William Noah, “A System Architecture for Context-Aware Mobile Computing”, Columbia University, 1995, 153 pages. |
Shin, Seung H., et al., “Sit-Down & Stand-Up Awareness Algorithm for the Pedestrian Dead Reckoning”, GNSS '09, May 3-6, 2009, available at <http://s-space.snu.ac.kr/bitstream/10371/27736/1/Sit-Down%20&%20Stand-Up%20Awareness%20Algorithm%20for%20the%20Pedestrian%20Dead%20Reconing.pdf>, (May 3, 2009), 6 pages. |
Sidhu, et al., “Multi-Stage Dead Reckoning for Crowd Sourcing,” U.S. Appl. No. 13/284,128, filed on Oct. 28, 2011, 42 pages. |
Sidhu, et al., “Power-Efficient Activation of a Device Movement Sensor Module”; U.S. Appl. No. 13/325,065 filed on Dec. 14, 2011; 65 pages. |
Simmons, R, et al, “Learning to Predict Driver Route and Destination Intent”, Intelligent Transportation Systems Conference, 2006. IEEE; Digital Object Identifier: 10.1109/ITSC.2006.1706730 Publication Year: 2006, pp. 127-132. |
Spreitzer, Mike, et al., “Providing Location Information in a Ubiquitous Computing Environment”, SIGOPS '93, 1993, pp. 270-283. |
Spreitzer, Mike, et al., “Architectural Considerations for Scalable, Secure, Mobile Computing with Location Information”, In The 14th International Conference on Distributed Computing Systems, Jun. 1994, pp. 29-38. |
Spreitzer, Mike, 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 Institue of Technology, Jun. 1999, 248 pages. (in two PDFs). |
Terada, T, et al., “Design of a Car Navigation System that Predicts User Destination”, Mobile Data Management, 2006. MDM 2006. 7th International Conference on; Publication Year: 2006, pp. 145-150. |
Theimer, Marvin, et al., “Operating System Issues for PDA's”, in Fourth Workshop on Workstation Operating Systems, 1993, 7 pages. |
Toledo-Moreo, Rafael 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. |
Toledo-Moreo, Rafael et al., “Performance Aspects of Navigation Systems for GNSS-Based Road User Charging”, In Proceedings of ION GNSS 2010, (Sep. 2010), 9 pages. |
Vaughan-Nichols, S.J., “Will Mobile Computing's Future Be Location, Location, Location?”, Computer; vol. 42, Issue: 2 Digital Object Identifier: 10.1109/MC.2009.65; Publication Year: 2009, pp. 14-17. |
Want, Roy, “Active Badges and Personal Interactive Computing Objects”, IEEE Transactions on Consumer Electronics, vol. 38—No. 1, 1992, 11 pages. |
Want, Roy, et al., “The Active Badge Location System”, Acm Transactions on Information Systems, vol. 10—No. 1, Jan. 1992, pp. 91-102. |
Wei, Chien-Hung, 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. |
Weiser, Mark, “Some Computer Science Issues in Ubiquitous Computing”, Communications of the ACM, vol. 36—No. 7, Jul. 1993, pp. 75-84. |
Weiser, Mark, “The Computer for the 21st Century”, Scientific American, Sep. 1991, 8 pages. |
Wendlandt, Kai et al., “Continuous Location and Direction Estimation with Multiple Sensors Using Particle Filtering”, International Conference on Multisensor Fusion and Integration for Intelligent Systems, 2006, IEEE, (Sep. 2006), 6 pages. |
Workshop on Wearable Computing Systems, Aug. 19-21, 1996. |
Wu, Yan-Jing, et al., “A dynamic navigation scheme for vehicular ad hoc networks”, Networked Computing and Advanced Information Management (NCM), 2010 Sixth International Conference on; Publication Year: 2010, pp. 231-235. |
Xie, M. et al., “Development of Navigation System for Autonomous Vehicle to Meet the DARPA Urban Grand Challenge”, Intelligent Transportation Systems Conference, 2007. Itsc 2007. IEEE; Sep. 30-Oct. 3, 2007, Seattle, WA; pp. 767-772. |
Xuan, Yiguang et al., “Crowd Sourcing Indoor Maps with Mobile Sensors”, MUS '10, Dec. 6-9, 2010, available at <http://www.ocf.berkeley.edu/˜xuanyg/IndoorMap—Mobiquitous2010—ver2.pdf>, (Dec. 6, 2010), 12 pages. |
Ye, Qian, et al, “Predict Personal Continuous Route”, 2008. 11th International IEEE Conference on Intelligent Transportation Systems; Oct. 12-15, 2008, Beijing, China; pp. 587-592. |
PCT Application U.S. Appl. No. PCT/US2008/067808, International Search Report and Written Opinion dated Dec. 12, 2008; 8 pages. |
PCT Application U.S. Appl. No. PCT/US2006/034608, International Search Report dated Jan. 15, 2007; 2 pages. |
PCT Application U.S. Appl. No. PCT/US00/20685; International Search Report dated Sep. 29, 2003; 3 pages. |
Russian Patent Appln. 2008112196/11; Office Action dated Jun. 8, 2010. |
Number | Date | Country | |
---|---|---|---|
20120129546 A1 | May 2012 | US |